Giter Club home page Giter Club logo

shinydemos's People

Contributors

andreasbovens avatar auduno avatar emoller avatar karlcow avatar luzc avatar mathiasbynens avatar miketaylr avatar patrickhlauke avatar shwetank avatar tagawa avatar webinista avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

shinydemos's Issues

Inbox Attack / index.html

For our build system to work, all demos have to be in an index.html. I tried embedding the inbox_attack.svg file directly in an html page, but I couldn't get it to render. I also tried putting the svg in an <object>, but everything just looked messed up.

Could someone with more expertise here help out? There's a more or less empty index.html in the inbox-attack folder so I can build the project.

ping @andreasbovens @tagawa

source/.htaccess used?

AFAICT it's not needed given the way the demos and tag pages are generated now:

<ifmodule mod_rewrite.c>
    RewriteEngine on
    RewriteCond %{DOCUMENT_ROOT}/$1 -f [OR]
    RewriteCond %{DOCUMENT_ROOT}/$1 -d
    RewriteRule (.*) - [S=2]
    RewriteCond %{DOCUMENT_ROOT}/demos/$1 -f [OR]
    RewriteCond %{DOCUMENT_ROOT}/demos/$1 -d
    RewriteRule (.*) /demos/$1 [L]
    RewriteRule (.*) /$1 [L]
</ifmodule>

Safe to remove?

[border-salon] hint needed to indicate people can navigate

I'd add a hint to the painting in the right, for example like an arrow
(one of those like a square with a triangle facing right that appears 1/2
a second after the page is loaded to capture the user's attention and then
fades away). Just to make sure that people know there's more. I think this
should point people to the arrows and/or clicking on the painting.

classList polyfill?

A lot of the demos use classList. Should we include a global polyfill at the template level? Just include a classList tag/feature test for the header? The polyfill I use at https://github.com/operasoftware/shinydemos/blob/master/demos/border-salon/scripts/bordersalon.js#L1-2 is small enough that it might be worth just polyfilling it rather than having it be a blocker.

miket at omg in ~/Opera/git/shinydemos on master
$ egrep -rl "classList" demos/
demos/beach/index.html
demos/border-radius-fun/scripts/js.js
demos/border-radius-fun/scripts/lib.js
demos/border-salon/scripts/borderbox.js
demos/border-salon/scripts/bordersalon.js
demos/css_image_transitions/index.html
demos/fence/scripts/script.js
demos/hixie-keyboard/scripts/script.js
demos/isometric-city/index.html
demos/planetarium/scripts/classlist.js
demos/rock-piano/scripts/script.js
demos/slideshows/mike2.html
demos/tatami/index.html
demos/travel-memories/scripts/js.js
demos/tweetmap/d3.min.js

Single folder for thumbnails

Currently we have /demo/thumbnail.png for every single demo folder. But it's just impossible to have the same for submodule demos like Odin. So it makes sense to have thumbs folder in source folder with demo-slug.png thumbnails which could be automatically copied to the demos' folders or stay in one folder — but it would require paths changes for tags pages.

This could also solve problem with optimal format for some thumbnails (PNG or JPG?)

<video> fallback for color-picker

It would be nicer to have a video (anything that we currently have on media.shinydemos.com) for a fallback to see the color-picker in action.

This can wait until after MWC.

garbled text in border-salon copy

"If you’ve tried the border-fun demo, you’ve made some borders so gorgeous they should be in a gallery. border-salon is a gallery of rounded-corner loveliness — all randomly generated for your delight!"

Demo template

After launch, let's create a "template" demo (unlinked from config.yml) that has the correct folder structure, DOM, links, etc. This will make it easier for contributions and also allow our demos to have a similar look and feel (well, the source anyways).

Clean up HTML output

Clean and nice code of my demo becomes a mess after compiler.

  • All tabs are replaces with two spaces
  • Half of line endings are removed
  • Indentation levels are not respected

At very leas we should fix tabs and line endings make our source code work like good practice tutorial.

If in any case it's impossible, we should just strip all spaces, tabs and new lines.

Add Google Analytics code to demos

<script type="text/javascript">

  var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-17110734-4']);
  _gaq.push(['_trackPageview']);

  (function() {
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
  })();

</script>

Clean up border-radius-fun

Non-scoped styles affects panel badly.

Also we have three different titles on the page:

  • URL border-radius-fun
  • Panel title Tinkering with Border Radius
  • Page title: Border-Radius-O-Matic

"explode" points to labs build

On my phone, trying the demo with Chrome Android: "Uh oh, it appears your browser doesn't support this feature. Please try with a browser that has camera support."

It should point to Opera Mobile 12, not the labs builds.

some getusermedia demos don't work in chrome 20+

Quite a lot of the getusermedia demos don't work in chrome canary, since chrome changed their spec in chrome 20+ from:

navigator.webkitGetUserMedia('video', successfunction, errorfunction)

to:

navigator.webkitGetUserMedia({video : true}, successfunction, errorfunction)

which aligns with how everyone else is doing it.

In the facekat demo we used this workaround:

navigator.getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia || navigator.msGetUserMedia;

if (navigator.getUserMedia) {
var videoSelector = {video : true};
if (window.navigator.appVersion.match(/Chrome/(.*?) /)) {
var chromeVersion = parseInt(window.navigator.appVersion.match(/Chrome/(\d+)./)[1], 10);
if (chromeVersion < 20) {
videoSelector = "video";
}
};

// set up stream
navigator.getUserMedia(videoSelector, function( stream ) {
// success
}, function() {
// error
});
}

warholiser layout issues on tablet

(ignore the fallback message--the layout problems are the same on my galaxy tab in OM12, just screen grabbing from the emulator).

This is what I see: http://miketaylr.com/post/46dfb4f7.png

Some kind of overlapping containers? I don't really understand why it's so different from the desktop version, but I haven't looked at the code.

Browser Support Info Update

When a browser is used that does not support one of the required features, the panel will show:

"This demo works on [opera browsers] and [these browsers].

[opera browsers]: This snippet will be specified in config.yaml per demo

[these browsers]: This will be a list of browsers OTHER THAN OPERA that support these features (by referencing all features required for each demo) from api.html5please.com (using noagent option).

Error: ENOENT, no such file or directory 'deploy/thumbs' on fresh clone

miket at omg in ~/tmp/shinydemos on master
$ node .

node.js:201
        throw e; // process.nextTick error, or 'error' event on first tick
              ^
Error: ENOENT, no such file or directory 'deploy/thumbs'
    at Object.readdirSync (fs.js:398:18)
    at Object.<anonymous> (/Users/miket/tmp/shinydemos/lib/filename.js:2:18)
    at Module._compile (module.js:441:26)
    at Object..js (module.js:459:10)
    at Module.load (module.js:348:31)
    at Function._load (module.js:308:12)
    at Module.require (module.js:354:17)
    at require (module.js:370:17)
    at Object.<anonymous> (/Users/miket/tmp/shinydemos/compiler/index.js:9:15)
    at Module._compile (module.js:441:26)

JSDOM sucks

Still gobbling whitespace, which breaks Hixie Keyboard.

@pepelsbey suggests we hard link to options.js in the markup and have the compiler just dump the config.yml-generated js to the file system.

This is the only reason that JSDOM is touching our files, so it should probably fix it for us.

<video> fallback for "explode" demo

Would be cooler if the demo falls back to one of the videos we have on media.shinydemos.com (can keep the message somewhere)--especially since it's based on a

(def. a post-MWC thing)

Making Rock Piano a little less rock, but more performant

I've played around with Patrick's beatbox demo and replaced the beats with piano notes, and this performs very well without reverb. Check http://people.opera.com/andreasb/exp/rock/beatpiano.html on tablet.

So, my suggestion would be to do the following:

  • remove the JS logic for looping etc, and just stick to a simple "on press, I should hear a sound for a while" idea like in Patrick's demo. This can be achieved with very simple markup and that's good enough for MWC.
  • fade out and possible shorten the music notes. You could also re-record them from Garageband or so. Also play with quality levels so as to get small file sizes.
    (- store the notes offline with appcache.)

alphabetize tags on homepage?

Doesn't really matter much when looking at the homepage in a desktop-ish browser.

When mobile-ish, it looks like homepage.

Do we care if it's not alphabetized?

Hipsted dog sounds should be uploaded to media server

There should be four files in http://media.shinydemos.com/hipster-dog/ folder:

polka.mp3
polka.ogg
effect.mp3
effect.ogg

All paths for the demo are already fixed:

<audio loop id="music">
    <source src="http://media.shinydemos.com/hipster-dog/polka.mp3" type="audio/mpeg">
    <source src="http://media.shinydemos.com/hipster-dog/polka.ogg" type="audio/ogg">
</audio>
<audio id="effect">
    <source src="http://media.shinydemos.com/hipster-dog/effect.mp3" type="audio/mpeg">
    <source src="http://media.shinydemos.com/hipster-dog/effect.ogg" type="audio/ogg">
</audio>

Paranoid fonts don't work in Chrome

Vadim pointed out it's .ttf only... but I thought Chrome supported .ttf? Problem with the font file?

@font-face {
   font-family: "Adore64";
   src: url(../Adore64.ttf)
}

warholiser security errors

Warholiser isn't working... just throwing SecurityErrors every 100ms.

@shwetank can you look into this?

f18301b is the first attempt to get this working--we have media.shinydemos.com symlinked to shinydemos.com/media.

Clean up Paranoid styles

…because a { color: #f00; } and // not implemented yet? in CSS are kind of destructive to the panel, especially the first one.

Explode demo: double attribution

"Based on Sean Christmann’s exploding HTML5 video experiment with kind permission." appears twice in the demo. In the body and in the panel.

I think I prefer the attribution in the panel as it's less "in your face."

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.