diff --git a/.gitignore b/.gitignore index fb913ad8..e54256f4 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,10 @@ .DS_Store *.pid *.bpkg +webintents.js +webintents.debug.js +webintents.min.js +tools/chrome/extensions/share/webintents.js +examples/lib/webintents* +widgets/lib/webintents* +server/lib/webintents* diff --git a/Makefile b/Makefile index f55a3233..2427f9bd 100644 --- a/Makefile +++ b/Makefile @@ -1,46 +1,37 @@ RELEASE := $(shell cat ./src/release.js) DEBUG := $(shell cat ./src/debug.js) -all: webintents.js webintents.min.js server/cache.manifest webintents.debug.js examples tools +all: server/cache.manifest production -examples: examples/lib/webintents.js examples/lib/webintents.debug.js examples/lib/webintents.min.js - -tools: tools/chrome/extensions/share/webintents.js - -examples/lib/webintents.js: webintents.js - ln -f webintents.js examples/lib/webintents.js - -examples/lib/webintents.debug.js: webintents.debug.js - ln -f webintents.debug.js examples/lib/webintents.debug.js - -examples/lib/webintents.min.js: webintents.min.js - ln -f webintents.min.js examples/lib/webintents.min.js - -webintents.js: ./src/release.js ./src/webintents.js ./src/json2.js ./src/base64.js +release: ./src/webintents.js ./src/json2.js ./src/base64.js cat ./src/webintents.js ./src/json2.js ./src/base64.js | sed 's|// __WEBINTENTS_ROOT|$(RELEASE)|' > webintents.js + cp webintents.js server/webintents.js + cp webintents.js widgets/lib/webintents.js + cp webintents.js examples/lib/webintents.js + cp webintents.js tools/chrome/extensions/share/webintents.js -webintents.debug.js: ./src/webintents.js ./src/debug.js ./src/json2.js ./src/base64.js - cat ./src/webintents.js ./src/json2.js ./src/base64.js | sed 's|// __WEBINTENTS_ROOT|$(DEBUG)|' > webintents.debug.js +debug: ./src/webintents.js ./src/debug.js ./src/json2.js ./src/base64.js + cat ./src/debug.js ./src/webintents.js ./src/json2.js ./src/base64.js | sed 's|// __WEBINTENTS_ROOT|$(DEBUG)|' | sed 's|//DEBUG(|DEBUG(|' > webintents.js + cp webintents.js server/webintents.js + cp webintents.js widgets/lib/webintents.js + cp webintents.js examples/lib/webintents.js + cp webintents.js tools/chrome/extensions/share/webintents.js -webintents.min.js: webintents.js - uglifyJs $^ > $@ +production: release + uglifyjs webintents.js > server/webintents.min.js -tools/chrome/extensions/share/webintents.js: webintents.js - ln -f webintents.js tools/chrome/extensions/share/webintents.js +server/webintents.js: # Manifest depends on changes to other files, so include them in the dependency chain -server/cache.manifest: server/cache.manifest.src server/picker.html server/script/picker.js server/webintents.js server/intents.html server/script/json2.js server/script/webintents-server.js server/webintents.min.js server/webintents.debug.js server/script/controller.js server/script/base64.js +server/cache.manifest: server/cache.manifest.src server/picker.html server/script/picker.js server/webintents.js server/intents.html server/script/json2.js server/script/webintents-server.js server/script/controller.js server/script/base64.js cat server/cache.manifest.src >> server/cache.manifest echo '#' `date` >> server/cache.manifest -server/webintents.js: webintents.js - ln -f webintents.js server/webintents.js - -server/webintents.debug.js: webintents.debug.js - ln -f webintents.debug.js server/webintents.debug.js - -server/webintents.min.js: webintents.min.js - ln -f webintents.min.js server/webintents.min.js - -clean: webintents.js webintents.min.js webintents.debug.js server/cache.manifest examples/lib/webintents.debug.js examples/lib/webintents.min.js examples/lib/webintents.js server/webintents.js server/webintents.min.js server/webintents.debug.js - rm $^ +clean: + rm -f webintents.js + rm -f server/cache.manifest + rm -f server/webintents.js + rm -f server/webintents.min.js + rm -f examples/lib/webintents.js + rm -f widgets/lib/webintents.js + rm -f tools/chrome/extensions/share/webintents.js diff --git a/README.md b/README.md index 10f53312..ac7b488a 100644 --- a/README.md +++ b/README.md @@ -6,6 +6,14 @@ Web Intents is a discovery mechanism and extremely light-weight RPC system betwe Usage ===== +To use today +------------ +No browsers currently support this API natively. To use this system simple drop the following code in to your site: + + + +When browsers start to implement this natively the Shim will defer all its functionality to the native interface. + Declaration ----------- @@ -25,19 +33,10 @@ To build a client application that can use the share functionality, it is as sim var intent = new Intent( "http://webintents.org/share", "image/*", - { - uris : ["http://upload.wikimedia.org/wikipedia/commons/thumb/f/f8/Three_jolly_kittens.png/800px-Three_jolly_kittens.png"] - } + "http://upload.wikimedia.org/wikipedia/commons/thumb/f/f8/Three_jolly_kittens.png/800px-Three_jolly_kittens.png" ); window.navigator.startActivity(intent); -You can even use a FORM so you don't have to do any coding. - -
- Service ------- @@ -49,7 +48,7 @@ That's it. To send data back to the client that invoked it, it is as simple as calling postResult() on the intent. - window.intent.postResult({ data: "something cool" }); + window.intent.postResult("something cool"); Examples ======== diff --git a/assets/share.pxm b/assets/share.pxm new file mode 100644 index 00000000..deaf902d Binary files /dev/null and b/assets/share.pxm differ diff --git a/assets/share16.png b/assets/share16.png new file mode 100644 index 00000000..f24e61c4 Binary files /dev/null and b/assets/share16.png differ diff --git a/assets/share32.png b/assets/share32.png new file mode 100644 index 00000000..794f6432 Binary files /dev/null and b/assets/share32.png differ diff --git a/examples/css/embedbase.css b/examples/css/embedbase.css new file mode 100644 index 00000000..b6ca0ebf --- /dev/null +++ b/examples/css/embedbase.css @@ -0,0 +1,68 @@ +body { +} + +h1 { + margin-top: 10px; + font-size: 3em; + margin-bottom: 15px; +} + +a { + color: #1465A3; +} + +nav.sub a:active { + background-color: red; +} + +h2 { + font-size: 2em; + margin-bottom: 15px; + margin-top: 25px; +} + +h3 { + font-size: 1.6em; + margin-bottom: 15px; + margin-top: 15px; +} + +dl { +line-height: 20px; +} + +p { + margin-top: 10px; + margin-bottom: 10px; + line-height: 20px; +} + +pre { + padding: 5px; + font-family: Courier New; + background-color: #eee; + border: solid 1px #ccc; + line-height: 20px; + margin-top: 10px; + margin-bottom: 10px; +} + +dt { + font-weight: 700; +} + +dd { + padding-left: 10px; +} + +ul { + list-style-type: disc; + list-style-position: inside; + + margin-top: 10px; + margin-bottom: 10px; +} + +ul li { + margin-bottom: 3px; +} diff --git a/examples/favicon.ico b/examples/favicon.ico index aafa9e7d..e18d5125 100644 Binary files a/examples/favicon.ico and b/examples/favicon.ico differ diff --git a/examples/index.html b/examples/index.html index a4fb0b99..dce2b1d5 100644 --- a/examples/index.html +++ b/examples/index.html @@ -14,6 +14,7 @@This is an example app that lets the user discover services that other + APIs offer
+<intent + action="http://webintents.org/discover" + type="application/JSON" + href="discover.html" + title="Example.com's APIs" + />+
diff --git a/examples/intents/discover/action.html b/examples/intents/discover/action.html index de86c532..5524a5be 100644 --- a/examples/intents/discover/action.html +++ b/examples/intents/discover/action.html @@ -2,7 +2,9 @@
-
+
+
+
+
+
+