michaelfox + extension 100
mockko/livereload - GitHub
april 2011 by michaelfox
gem install livereload
chrome
javascript
safari
extension
april 2011 by michaelfox
Gridth Code
march 2011 by michaelfox
Safari Extension that will enable you to override stylesheets for any web page.
css
safari
customization
extension
march 2011 by michaelfox
jcarbaugh/chrome-huffduffit - GitHub
march 2011 by michaelfox
Huffduffer extension for Google Chrome
huffduffer
mp3
podcast
google
chrome
inspiration
code
repo
github
extension
march 2011 by michaelfox
Tutorial: OAuth - Google Chrome Extensions - Google Code
march 2011 by michaelfox
OAuth is an open protocol that aims to standardize the way desktop and web applications access a user's private data. OAuth provides a mechanism for users to grant access to private data without sharing their private credentials (username/password). Many sites have started enabling APIs to use OAuth because of its security and standard set of libraries.
This tutorial will walk you through the necessary steps for creating a Google Chrome Extension that uses OAuth to access an API. It leverages a library that you can reuse in your extensions.
This tutorial uses the Google Documents List Data API as an example OAuth-enabled API endpoint.
chrome
api
extension
reference
resources
documentation
tutorial
oauth
This tutorial will walk you through the necessary steps for creating a Google Chrome Extension that uses OAuth to access an API. It leverages a library that you can reuse in your extensions.
This tutorial uses the Google Documents List Data API as an example OAuth-enabled API endpoint.
march 2011 by michaelfox
[chrome] Revision 39385
march 2011 by michaelfox
Adding @@extension_id reserved message to l10n message map for extension.
It's added outside of ExtensionMessageBundle so that non-localized extensions can use it. Developer doesn't have to define default_locale in the manifest in order to get it working.
With this change every extension css file will go through message replacement process (only localized extensions went through that before).
This change will allow following construct in extension css:
body {
background-image:url('chrome-extension://__MSG_@@extension_id__/background.png');
}
BUG=35208
TEST=Add an background image to your extension, and refer to it from css file using __MSG_@@extension_id__. Image should show up in the background.
Review URL: http://codereview.chromium.org/628009
chrome
api
extension
reference
It's added outside of ExtensionMessageBundle so that non-localized extensions can use it. Developer doesn't have to define default_locale in the manifest in order to get it working.
With this change every extension css file will go through message replacement process (only localized extensions went through that before).
This change will allow following construct in extension css:
body {
background-image:url('chrome-extension://__MSG_@@extension_id__/background.png');
}
BUG=35208
TEST=Add an background image to your extension, and refer to it from css file using __MSG_@@extension_id__. Image should show up in the background.
Review URL: http://codereview.chromium.org/628009
march 2011 by michaelfox
jezdez/textmate-missingdrawer - GitHub
december 2010 by michaelfox
A better sidebar for Textmate.
extension
plugin
plugins
textmate
tools
ide
editor
project
december 2010 by michaelfox
jam-firefox-ext - Project Hosting on Google Code
november 2010 by michaelfox
Here are the reasons why someone would want to create a minimal firefox extension.
1. When you wish to create a local computer( disk) resident browser based application, interacting with the file system for reading and writing is possible if the application is structured as an extension.
2. Quick prototyping without worrying about XmlHttpRequest cross domain issues. When you run as plain application, user is hassled with a pop-up whenever XmlHttpRequest is attempted.
3. Many a times, installing an extension causes a lot of angst in terms of 'Will this mess up with my other customizations?'. A work in progress extension can be distributed along with a profile so that the user can preview, test it. Without worrying about messing with the default firefox browsing experience.
Here is a code to get you started with a minimal firefox extension bundled along with a user profile. The code comes with startup script(run.sh, run.bat)
Run your regular firefox browsing session and then run the startup script.( To avoid the feeling 'WTF, the stupid extension has messed up with my default firefox settings!?!' )
firefox
extension
boilerplate
template
plugins
addons
xul
mozilla
webdev
tools
1. When you wish to create a local computer( disk) resident browser based application, interacting with the file system for reading and writing is possible if the application is structured as an extension.
2. Quick prototyping without worrying about XmlHttpRequest cross domain issues. When you run as plain application, user is hassled with a pop-up whenever XmlHttpRequest is attempted.
3. Many a times, installing an extension causes a lot of angst in terms of 'Will this mess up with my other customizations?'. A work in progress extension can be distributed along with a profile so that the user can preview, test it. Without worrying about messing with the default firefox browsing experience.
Here is a code to get you started with a minimal firefox extension bundled along with a user profile. The code comes with startup script(run.sh, run.bat)
Run your regular firefox browsing session and then run the startup script.( To avoid the feeling 'WTF, the stupid extension has messed up with my default firefox settings!?!' )
november 2010 by michaelfox
VimperatorInTheMedia - vimperator-labs - Tutorials, cheat sheets and more... - Project Hosting on Google Code
november 2010 by michaelfox
Tutorials¶
Vimperator includes a simple tutorial with :help tutorial.
More tutorials -- also in foreign languages -- can be found here:
* Hack and / - Dr hjkl Meets the Vimperator: http://www.linuxjournal.com/article/10636
* How to control Firefox using Vim keybindings: http://www.linux.com/feature/114419
* French tutorial (tutoriel en Français): http://bepo.fr/wiki/Vimperator
* Spanish tutorial (tutorial en Español): http://neurohost.org/index.php/Linux:Vimperator
* Hungarian tutorial: http://portal.linuxempire.hu/node/57
Other resources for learning Vimperator¶
* Visual map of the most basic commands: http://simplicityroad.livejournal.com/1938.html
* Interactive clickable cheat sheet which teaches many commands: http://vi.shiar.net/vimperator
* Another cheat sheet: http://www.cheat-sheets.org/#FirefoxAddOns
* Cheatsheat (and mappings) for colemak layout users: http://vimperator.org/trac/ticket/257 FIXME!
Other references¶
* http://www.makeuseof.com/tag/vimperator-hardcore-firefox-addon-minimalists/
extension
firefox
keyboard
reference
shortcuts
vimperator
Vimperator includes a simple tutorial with :help tutorial.
More tutorials -- also in foreign languages -- can be found here:
* Hack and / - Dr hjkl Meets the Vimperator: http://www.linuxjournal.com/article/10636
* How to control Firefox using Vim keybindings: http://www.linux.com/feature/114419
* French tutorial (tutoriel en Français): http://bepo.fr/wiki/Vimperator
* Spanish tutorial (tutorial en Español): http://neurohost.org/index.php/Linux:Vimperator
* Hungarian tutorial: http://portal.linuxempire.hu/node/57
Other resources for learning Vimperator¶
* Visual map of the most basic commands: http://simplicityroad.livejournal.com/1938.html
* Interactive clickable cheat sheet which teaches many commands: http://vi.shiar.net/vimperator
* Another cheat sheet: http://www.cheat-sheets.org/#FirefoxAddOns
* Cheatsheat (and mappings) for colemak layout users: http://vimperator.org/trac/ticket/257 FIXME!
Other references¶
* http://www.makeuseof.com/tag/vimperator-hardcore-firefox-addon-minimalists/
november 2010 by michaelfox
Abracode Shortcuts
november 2010 by michaelfox
Abracode
Website: http://www.abracode.com/free/cmworkshop/
What is it?
Shortcuts is a Mac OS X application to assign hot keys to contextual menu items. It works only with menu items added by contextual menu plug-ins. Version 2.0 also allows you to display a menu with items added by CM plug-ins.
Requirements
Mac OS 10.5 or higher.
Some useful contextual menu plug-ins highly recommended.
In Mac OS 10.6 Shortcuts is the only method to use contextual menu plug-ins in 64 bit applications.
Introduction
Ever wanted to assign a hot key combination to contextual menu item? "Shortcuts" is the answer. It allows you to assign a hot key combination to chosen menu item so you can select some object (file in Finder or text) and hit keyboard combination to execute the task normally performed by choosing that menu item.
Shortcuts works with contextual menu plug-ins only. It does not work with menu items added by the application which shows the menu. For example, when you ctrl-click on Desktop in Finder you have "New Folder" and other items added by Finder. You cannot assign shortcuts to those items. But the same contextual menu also shows some items added by plug-ins — in default Mac OS 10.4 installation it would see Automator and folder actions items which are added by Apple-provided plug-ins — and you can assign shortcuts to those items. Of course you probably need to have some third party contextual menu plug-ins installed to make good use of "Shortcuts". But even if you used it only for one frequently used item it would be worth installing and getting the benefits of much faster execution.
Unfortunately not all contextual menu plug-ins will work with "Shortcuts". Only contextual menu items which play by the rules will work. So what are the rules? The rules are: when the context information (selected text of file information) is passed to the contextual menu plug-in, it should advertise available commands by returning the menu item name. It seems obvious but some plug-ins do it in a different way. They do not provide the names of their contextual menu items when asked and they try to add those items to menu later. You will not be able assign shortcuts to those items because in most cases they will not show up at all when "Shortcuts" tries to query all plugins. Another class of problematic plug-ins are those which restrict their visibility to certain applications only — for example some plug-ins may show only in Finder. In such case "Shortcuts" will not see their items.
extension
gui
keyboard
mac
shortcuts
environment
osx
hacks
context
Website: http://www.abracode.com/free/cmworkshop/
What is it?
Shortcuts is a Mac OS X application to assign hot keys to contextual menu items. It works only with menu items added by contextual menu plug-ins. Version 2.0 also allows you to display a menu with items added by CM plug-ins.
Requirements
Mac OS 10.5 or higher.
Some useful contextual menu plug-ins highly recommended.
In Mac OS 10.6 Shortcuts is the only method to use contextual menu plug-ins in 64 bit applications.
Introduction
Ever wanted to assign a hot key combination to contextual menu item? "Shortcuts" is the answer. It allows you to assign a hot key combination to chosen menu item so you can select some object (file in Finder or text) and hit keyboard combination to execute the task normally performed by choosing that menu item.
Shortcuts works with contextual menu plug-ins only. It does not work with menu items added by the application which shows the menu. For example, when you ctrl-click on Desktop in Finder you have "New Folder" and other items added by Finder. You cannot assign shortcuts to those items. But the same contextual menu also shows some items added by plug-ins — in default Mac OS 10.4 installation it would see Automator and folder actions items which are added by Apple-provided plug-ins — and you can assign shortcuts to those items. Of course you probably need to have some third party contextual menu plug-ins installed to make good use of "Shortcuts". But even if you used it only for one frequently used item it would be worth installing and getting the benefits of much faster execution.
Unfortunately not all contextual menu plug-ins will work with "Shortcuts". Only contextual menu items which play by the rules will work. So what are the rules? The rules are: when the context information (selected text of file information) is passed to the contextual menu plug-in, it should advertise available commands by returning the menu item name. It seems obvious but some plug-ins do it in a different way. They do not provide the names of their contextual menu items when asked and they try to add those items to menu later. You will not be able assign shortcuts to those items because in most cases they will not show up at all when "Shortcuts" tries to query all plugins. Another class of problematic plug-ins are those which restrict their visibility to certain applications only — for example some plug-ins may show only in Finder. In such case "Shortcuts" will not see their items.
november 2010 by michaelfox
Vimperator — Vimperator Labs
november 2010 by michaelfox
Vimperator is a Firefox browser extension with strong inspiration from the Vim text editor, with a mind towards faster and more efficient browsing. It has similar key bindings and you could call it a modal web browser, as key bindings differ according to which mode you are in. For example, it has a special Hint mode, where you can follow links easily with the keyboard only. Also most functionality is available as commands, typing :back will go back within the current page history, just like hitting the back button in the toolbar.
But Vimperator is more than just a simple command interface to Firefox — it is a complete development environment as well. If you are a web developer, you can enjoy an interactive JavaScript shell — even with completion support. Or if you want to extend Vimperator, you can easily do that by just dropping a JavaScript file in its plugin directory. Browse through our wiki pages for nice tips to customize Vimperator and for frequently asked questions. If you have more questions, you can visit us on IRC, in #vimperator on freenode.
browser
development
firefox
gui
vim
extension
opensource
addons
lifehacks
utility
plugin
vimperator
keyboard
javascript
mozilla
interface
shortcuts
efficiency
productivity
tools
resources
reference
But Vimperator is more than just a simple command interface to Firefox — it is a complete development environment as well. If you are a web developer, you can enjoy an interactive JavaScript shell — even with completion support. Or if you want to extend Vimperator, you can easily do that by just dropping a JavaScript file in its plugin directory. Browse through our wiki pages for nice tips to customize Vimperator and for frequently asked questions. If you have more questions, you can visit us on IRC, in #vimperator on freenode.
november 2010 by michaelfox
Oxymoronical » Nightly Tester Tools
october 2010 by michaelfox
Nightly Tester Tools
This extension adds a few extras useful to those that regularly test nightly builds of Firefox, Thunderbird, Sunbird and Toolkit Seamonkey (Suiterunner).
Don’t forget that forcing an incompatible extension to install is risky. There are many cases where Firefox will stop working completely or behave incorrectly because an incompatible extension is being forced to work where the author never intended.
The following is a brief list of the extension’s features, for the full set of features please take a look at the features list.
* Extension compatibility fixing
* Titlebar customisation
* Build ID retrieval
* Screenshots
* Breakpad information
* Restoring tabs from previous session
* Leak log analysis
firefox
tools
peformance
debug
profile
optimization
performance
extension
This extension adds a few extras useful to those that regularly test nightly builds of Firefox, Thunderbird, Sunbird and Toolkit Seamonkey (Suiterunner).
Don’t forget that forcing an incompatible extension to install is risky. There are many cases where Firefox will stop working completely or behave incorrectly because an incompatible extension is being forced to work where the author never intended.
The following is a brief list of the extension’s features, for the full set of features please take a look at the features list.
* Extension compatibility fixing
* Titlebar customisation
* Build ID retrieval
* Screenshots
* Breakpad information
* Restoring tabs from previous session
* Leak log analysis
october 2010 by michaelfox
mijnpraktijk / AugmentedCI / wiki / Home – Bitbucket
october 2010 by michaelfox
his package contains the default CI system directory but with the following changes:
* CI_Router & CI_Loader classes merged with MY_ versions of Modular Seperation
* CI_Exceptions merged with the MY_ version of UhOh!
* CI's default DB replaced by RapidDataMapper (RDM)
* CI_Profiler and CI_Session were modified to work with RDM
* MP_Cache added to the system libraries
* A couple of default changes to the APP/config/config.php (like the base_url and compression on by default)
* A PHP5 autoloader which is loaded by the CI_Router class when available
* Default directories in APP folder for Exception classes, Abstract classes and interfaces (which are supported by the above autoloader)
* max() and min() functions were added to RDM's DB_Query_Select to return maximum and minimum values, work exactly the same as the count() function
* Objects and descriptors from RDM are "subfoldered" by changing underscores to dashes, so the class Page is in "data_model/page.php" and the class Shop_product is in "data_model/shop/product.php".
* AugmentedCI helper for an alternate CI syntax
* The comprehensive UhOh! errors are only shown to IP's added at the top of APP/config/config.php
* Default .htaccess for the main index.php
* Clean Controller and Models namespace (read more)
php
codeigniter
addons
plugins
framework
base
template
boilerplate
extension
* CI_Router & CI_Loader classes merged with MY_ versions of Modular Seperation
* CI_Exceptions merged with the MY_ version of UhOh!
* CI's default DB replaced by RapidDataMapper (RDM)
* CI_Profiler and CI_Session were modified to work with RDM
* MP_Cache added to the system libraries
* A couple of default changes to the APP/config/config.php (like the base_url and compression on by default)
* A PHP5 autoloader which is loaded by the CI_Router class when available
* Default directories in APP folder for Exception classes, Abstract classes and interfaces (which are supported by the above autoloader)
* max() and min() functions were added to RDM's DB_Query_Select to return maximum and minimum values, work exactly the same as the count() function
* Objects and descriptors from RDM are "subfoldered" by changing underscores to dashes, so the class Page is in "data_model/page.php" and the class Shop_product is in "data_model/shop/product.php".
* AugmentedCI helper for an alternate CI syntax
* The comprehensive UhOh! errors are only shown to IP's added at the top of APP/config/config.php
* Default .htaccess for the main index.php
* Clean Controller and Models namespace (read more)
october 2010 by michaelfox
Firefogg - video encoding and uploading for Firefox
june 2010 by michaelfox
Firefogg
video encoding and uploading for Firefox
video
media
encoding
transcoding
firefox
plugin
extension
video encoding and uploading for Firefox
june 2010 by michaelfox
Pagination automated | CodeIgniter Forums
may 2010 by michaelfox
Here’s an extension for the pagination class.
It automatically calculates the base_url and uri_segment for the pagination class so you don’t have to set them manually in your controller.
Also, it automatically calculates the offset form the URI and stores it in $this->pagination->offset, which you can use as LIMIT parameter in your database calls.
All you need to do order to calculate these values is to use a distinctive string in your URI, in the segment preceding the offset. For instance: http://www.example.com/blog/overview/Page/12 (in which ‘Page’ would be the distinctive string).
codeigniter
pagination
offset
extension
php
library
It automatically calculates the base_url and uri_segment for the pagination class so you don’t have to set them manually in your controller.
Also, it automatically calculates the offset form the URI and stores it in $this->pagination->offset, which you can use as LIMIT parameter in your database calls.
All you need to do order to calculate these values is to use a distinctive string in your URI, in the segment preceding the offset. For instance: http://www.example.com/blog/overview/Page/12 (in which ‘Page’ would be the distinctive string).
may 2010 by michaelfox
Using jQuery Inside Your Firefox Extension :: GLUEinteractive
may 2010 by michaelfox
For a project at work we've been building a Firefox extension. It's slow, tedious work, with lots of time spent in the breakpointer functionality of Venkman. Thankfully Firefox extensions are basically javascript, and as I heard rumors of, you can embed jQuery inside of one.
How? Well it's quite simple. In your overlay.xul file, just include it like you would any other js file.
<script type="application/x-javascript" src="chrome://extensionname/content/jquery-1.2.6.min.js" />
Yup, that's it! Now you have access to all the usual jQuery functionality like element.click(), element.attr() and even the $.ajax calls, all within the scope of your extension. Thus, you can write extension code like this:
$('.toggle').attr('disabled', true);
Where it will select all XUL elements in your extension with the class toggle and set the disabled attribute to true.
If you want to have access to the browser DOM, you can access it via the document.defaultView attriute globally. Most times the defaultView variable is available inside of the event object if you've bound to one. Then, in order to effect the browser DOM, all you have to do is make use of the (often ignored) 2nd parameter of the $ function, the conext you'd like jQuery to work in.
In our case it's the browser's DOM. For example, to highlight all links on the page that are rel=nofollow, you just have to do this:
doc = document.defaultView;
jQuery("a[rel='nofollow']", doc).css({border: 'dotted 1px red', backgroundColor: 'pink'});
Now you have the power!
jquery
firefox
extension
javascript
plugins
addons
customization
How? Well it's quite simple. In your overlay.xul file, just include it like you would any other js file.
<script type="application/x-javascript" src="chrome://extensionname/content/jquery-1.2.6.min.js" />
Yup, that's it! Now you have access to all the usual jQuery functionality like element.click(), element.attr() and even the $.ajax calls, all within the scope of your extension. Thus, you can write extension code like this:
$('.toggle').attr('disabled', true);
Where it will select all XUL elements in your extension with the class toggle and set the disabled attribute to true.
If you want to have access to the browser DOM, you can access it via the document.defaultView attriute globally. Most times the defaultView variable is available inside of the event object if you've bound to one. Then, in order to effect the browser DOM, all you have to do is make use of the (often ignored) 2nd parameter of the $ function, the conext you'd like jQuery to work in.
In our case it's the browser's DOM. For example, to highlight all links on the page that are rel=nofollow, you just have to do this:
doc = document.defaultView;
jQuery("a[rel='nofollow']", doc).css({border: 'dotted 1px red', backgroundColor: 'pink'});
Now you have the power!
may 2010 by michaelfox
related tags
*todo ⊕ accessibility ⊕ addons ⊕ ajax ⊕ alpha ⊕ analytics ⊕ apache ⊕ api ⊕ aria2c ⊕ auth ⊕ authentication ⊕ autocomplete ⊕ backup ⊕ barcodes ⊕ base ⊕ bbq ⊕ benchmark ⊕ beta ⊕ blog ⊕ boilerplate ⊕ bookmarks ⊕ browser ⊕ browsing ⊕ builder ⊕ bundle ⊕ buttons ⊕ c ⊕ c++ ⊕ cache ⊕ chrome ⊕ chromium ⊕ cli ⊕ code ⊕ codeigniter ⊕ collection ⊕ compilation ⊕ context ⊕ css ⊕ css3 ⊕ ctags ⊕ customization ⊕ debug ⊕ debugging ⊕ definition ⊕ delicious ⊕ design ⊕ developer ⊕ development ⊕ digg ⊕ directory ⊕ documentation ⊕ dom ⊕ dotjs ⊕ download ⊕ editor ⊕ ee ⊕ efficiency ⊕ email ⊕ encoding ⊕ encryption ⊕ environment ⊕ example ⊕ excel ⊕ expressionengine ⊕ extension ⊖ filter ⊕ firebug ⊕ firefox ⊕ fragment ⊕ framework ⊕ function ⊕ gadget ⊕ generator ⊕ get ⊕ gist ⊕ gist-460360 ⊕ github ⊕ github-repo ⊕ gmail ⊕ google ⊕ googlewave ⊕ grammar ⊕ greasemonkey ⊕ growl ⊕ gui ⊕ hack ⊕ hacks ⊕ hammerhead ⊕ hash ⊕ hinting ⊕ howto ⊕ http ⊕ huffduffer ⊕ ide ⊕ ie ⊕ ie6 ⊕ ie7 ⊕ imagemagick ⊕ inspiration ⊕ install ⊕ interface ⊕ javascript ⊕ jetpack ⊕ jquery ⊕ JSON ⊕ keyboard ⊕ language ⊕ leak ⊕ lib ⊕ library ⊕ lifehacks ⊕ list ⊕ loadtime ⊕ mac ⊕ magicwand ⊕ mail ⊕ mcrypt ⊕ media ⊕ mediawiki ⊕ memcache ⊕ memory ⊕ microformats ⊕ mixedcontent ⊕ mouse ⊕ mozdev ⊕ mozilla ⊕ mp3 ⊕ mysql ⊕ nightly ⊕ notification ⊕ oauth ⊕ offset ⊕ opensearch ⊕ opensource ⊕ optimization ⊕ osx ⊕ package ⊕ pagination ⊕ paramaters ⊕ params ⊕ parms ⊕ parseing ⊕ pdf ⊕ peformance ⊕ pentest ⊕ performance ⊕ php ⊕ pinboard ⊕ plugin ⊕ plugins ⊕ podcast ⊕ privacy ⊕ productivity ⊕ profile ⊕ programming ⊕ project ⊕ question ⊕ reference ⊕ refsource ⊕ regex ⊕ repo ⊕ resources ⊕ rest ⊕ safari ⊕ sample ⊕ scripts ⊕ search ⊕ searchbar ⊕ searchplugins ⊕ security ⊕ session ⊕ setup ⊕ shell ⊕ shortcut ⊕ shortcuts ⊕ source ⊕ speed ⊕ stackoverflow ⊕ stylish ⊕ template ⊕ test ⊕ testing ⊕ textmate ⊕ thunderbird ⊕ tips ⊕ tmbundle ⊕ toolbar ⊕ toolbars ⊕ tools ⊕ transcoding ⊕ tutorial ⊕ udf ⊕ ultimatebuild ⊕ url ⊕ usability ⊕ useragent ⊕ userchrome.js ⊕ userdefinedfunctions ⊕ userscripts ⊕ utilities ⊕ utility ⊕ utils ⊕ validation ⊕ video ⊕ vim ⊕ vimperator ⊕ wave ⊕ web ⊕ webdev ⊕ wiki ⊕ xdebug ⊕ xml ⊕ xpi ⊕ xss ⊕ xul ⊕ youtube ⊕ yslow ⊕Copy this bookmark: