| CARVIEW |
Select Language
HTTP/2 302
server: nginx
date: Wed, 24 Dec 2025 00:41:10 GMT
content-type: text/plain; charset=utf-8
content-length: 0
x-archive-redirect-reason: found capture at 20090211151013
location: https://web.archive.org/web/20090211151013/https://github.com/andyatkinson/gadgets/tree/master
server-timing: captures_list;dur=1.323856, exclusion.robots;dur=0.122854, exclusion.robots.policy;dur=0.100430, esindex;dur=0.018136, cdx.remote;dur=29.310720, LoadShardBlock;dur=257.492592, PetaboxLoader3.datanode;dur=79.958684, PetaboxLoader3.resolve;dur=36.229851
x-app-server: wwwb-app220-dc8
x-ts: 302
x-tr: 444
server-timing: TR;dur=0,Tw;dur=0,Tc;dur=0
set-cookie: wb-p-SERVER=wwwb-app220; path=/
x-location: All
x-as: 14061
x-rl: 0
x-na: 0
x-page-cache: MISS
server-timing: MISS
x-nid: DigitalOcean
referrer-policy: no-referrer-when-downgrade
permissions-policy: interest-cohort=()
HTTP/2 200
server: nginx
date: Wed, 24 Dec 2025 00:41:12 GMT
content-type: text/html; charset=utf-8
x-archive-orig-server: nginx/0.6.26
x-archive-orig-date: Wed, 11 Feb 2009 15:10:13 GMT
x-archive-orig-connection: close
x-archive-orig-status: 200 OK
x-archive-orig-x-runtime: 143ms
x-archive-orig-etag: "efbde5d263abb9c00322b424d97dfece"
x-archive-orig-cache-control: private, max-age=0, must-revalidate
x-archive-orig-content-length: 22151
x-archive-guessed-content-type: text/html
x-archive-guessed-charset: utf-8
memento-datetime: Wed, 11 Feb 2009 15:10:13 GMT
link: ; rel="original", ; rel="timemap"; type="application/link-format", ; rel="timegate"
content-security-policy: default-src 'self' 'unsafe-eval' 'unsafe-inline' data: blob: archive.org web.archive.org web-static.archive.org wayback-api.archive.org athena.archive.org analytics.archive.org pragma.archivelab.org wwwb-events.archive.org
x-archive-src: 51_8_20090211093709_crawl100-c/51_8_20090211150926_crawl101.arc.gz
server-timing: captures_list;dur=0.651608, exclusion.robots;dur=0.032976, exclusion.robots.policy;dur=0.015404, esindex;dur=0.010446, cdx.remote;dur=18.557171, LoadShardBlock;dur=935.392794, PetaboxLoader3.datanode;dur=890.481231, PetaboxLoader3.resolve;dur=133.815949, load_resource;dur=168.253563
x-app-server: wwwb-app220-dc8
x-ts: 200
x-tr: 1183
server-timing: TR;dur=0,Tw;dur=0,Tc;dur=0
x-location: All
x-as: 14061
x-rl: 0
x-na: 0
x-page-cache: MISS
server-timing: MISS
x-nid: DigitalOcean
referrer-policy: no-referrer-when-downgrade
permissions-policy: interest-cohort=()
content-encoding: gzip
andyatkinson's gadgets at master - GitHub
This repository is private.
All pages are served over SSL and all pushing and pulling is done over SSH.
No one may fork, clone, or view it unless they are added as a member.
Every repository with this icon (
) is private.
Every repository with this icon (
This repository is public.
Anyone may fork, clone, or view it.
Every repository with this icon (
) is public.
Every repository with this icon (
| Description: | Runnable mini apps that demonstrate some JavaScript or web stuff I've learned |
| Homepage: | https://gadgets.webandy.com/ |
| Clone URL: |
git://github.com/andyatkinson/gadgets.git
Give this clone URL to anyone.
git clone git://github.com/andyatkinson/gadgets.git
|
gadgets /
| name | age | message | |
|---|---|---|---|
| |
.gitignore | Thu Nov 13 11:56:40 -0800 2008 | Adding gitignore file [andyatkinson] |
| |
Capfile | Wed Nov 12 17:40:06 -0800 2008 | first commit, which includes sinatra demo gener... [andyatkinson] |
| |
README.txt | Thu Nov 13 12:05:38 -0800 2008 | Updating readme and adding links to JS files fo... [andyatkinson] |
| |
config.ru | Wed Nov 12 18:01:50 -0800 2008 | changed the name of the sinatra app file [andyatkinson] |
| |
config/ | Wed Nov 12 17:40:06 -0800 2008 | first commit, which includes sinatra demo gener... [andyatkinson] |
| |
demo_generator.rb | Thu Nov 13 18:37:44 -0800 2008 | updating comments in demo_generator.rb [andyatkinson] |
| |
log/ | Wed Nov 12 17:40:06 -0800 2008 | first commit, which includes sinatra demo gener... [andyatkinson] |
| |
public/ | Wed Dec 17 22:38:38 -0800 2008 | fixing links to JS files on github [andyatkinson] |
| |
views/ | Thu Nov 13 13:09:25 -0800 2008 | adding a link to the README on the footer [andyatkinson] |
== Introduction == I wanted to run little "gadgets" on the same server as my personal website. "Gadgets" are mini apps that demonstrate something I've learned, usually JavaScript, a web API like del.icio.us or twitter, or maybe some CSS tricks. Having these mini apps lets me test appearance and behavior in multiple browsers. I picked the name "gadgets" after considering widgets, snippets, samples, and bits. The problem I ran into was I had to update a link every time I uploaded a new gadget. I could make made a one-page CMS, or manage a site with all static files, which is what I was doing previously, but I wanted to try the sinatra framework and learn hpricot, so I settled on making a mini app to serve these demos called "demo generator". == Demo Generator == Demo Generator generates a landing page from a Github project/repo. It uses some of the Github API and also does some page scraping to grab newly uploaded folders. The problems this solved for me were: - I can create new runnable, javascript gadgets and don't need to manually add a link to the new gadget - Instead of a static files site, having a server application means I could return data to the gadget from a database or the filesystem - This was a DRYer setup since I don't have to duplicate any data from the repo, I can just pull it down programmatically. - sinatra and hpricot are very fast - I can take advantage of nice source code highlighting already provided by Github == Dependencies == I made demo generator configurable so it should work with other github projects. Using this on your own server requires the following gems: - sinatra - rack - hpricot I have only tested this with Apache and the Passenger module installed. A deploy.rb file is included to make deployment with Capistrano easy. I'm not really sure if this will be useful to others, please share any feedback. == How do I use demo generator for my gadgets? == - Fork (or download) the "gadgets" project - Create your own github repo for your gadgets - Change the values in "demo_generator.rb" to be your own github account and repo name If you have the same gems installed, and use the same deployment environment as me, deployment should be easy. Add new "gadgets" by adding a directory in the public folder of this sinatra app, then make sure an index.html is generated or created, and that your web server knows to serve that. Once you upload new directories within your public dir, as long as they aren't in the list of excluded dirs (also configurable), a link will be made on the next page load of the demo generator to the new gadget. == Author == Andy Atkinson "gadgets" project Linked up by Demo Generator https://webandy.com == Source == https://github.com/andyatkinson/gadgets/tree/master
This feature is coming soon. Sit tight!







