diff --git a/examples/fgallery/README.md b/examples/fgallery/README.md new file mode 100644 index 0000000..0bf4513 --- /dev/null +++ b/examples/fgallery/README.md @@ -0,0 +1,119 @@ +# Fgallery - Static image gallery + +Fgallery comprises of some perl code, that can generate an image gallery built completely staticly with no server side code. This can then be easily hosted using ipfs. + +http://www.thregr.org/~wavexx/software/fgallery/ + +## Dependencies + +Fgallery reqires a few dependencies to work, on Ubuntu 14.04 I needed: + +``` +Perl, with the following modules (which can be installed from CPAN): + Image::ExifTool + JSON + +imagemagick +liblcms2-utils +exiftran +``` + +## Building the gallery + +Fistly, you'll need to prepare a directory with your images in, you can either make your own or use the demo one provided. Make a note of where it's located on the file system. + +The latest version of fgallery can be downloaded from their website, unzip the archive and change directory into the extracted folder. + +Run: + +``` +./fgallery /demo /gallery +``` + +You'll need to give the full path to where you placed the demo folder. + +Fgallery will then start processing images and building all the static files in the output directory: + +``` +reading completed +processing completed +generating archive... +completed +``` + +## Hosting with IPFS + +Putting the images online is done with just one command: + +``` +ipfs add -r /gallery +``` + +Obviously replacing /output/location with the location you asked fgallery to output the files to. + +This will add all of the files: + +``` +added QmYby7AidsKyM29z5TgVH6CGFkj5k9mauzJSSdRXmqoqXZ gallery/back.png +added Qma6c2Cz4Wp9ZsdtMUxzmc1rfTN1QewSdDkjdkqYkoYKJZ gallery/blurs/01O0FMD.jpg +added QmemKBx9awiTz6GubFuW6dQ3M7RnM7wiXaN6sA3NVXEAHM gallery/blurs/03Kj6JO.jpg +added QmZxRcxLzEvMiqEPxXECz8d2XdwCL9KvS9zKjVYHkw4t3P gallery/blurs/04CVyjY.jpg +added QmSTHdib78JDtPyWR498CbYnYWExVJLzD1298utjgMZkJj gallery/blurs/05vYu5k.jpg +added QmWKJo49HxhFnvTEW8r9D8vV7ezytn2n3u9XR2QhsUNAe2 gallery/blurs/06YYa0i.jpg +added Qmbc9U7yJKVRGWarSzDqFsFPZ5U4oFr3rnu7CMzxPSLj9R gallery/blurs/06uDGyB.jpg +added QmU3ski5amcbK1wQZVLHAhYpJRyv1vWfwVEfcJB5iRrzQ2 gallery/blurs/07v5H70.jpg +added QmWFVgR6i81FUXTS9HxppL8y1hy4DmqyS3Xse2uiGLmosj gallery/blurs/07vVDJI.jpg +added QmVmZBm5j6HZcAdYnPNJaSFL1FRxkyPkzJ7ixno1mGUNi4 gallery/blurs/097mGzX.jpg +added QmQMbgdCgNmSXJSoqm46nDq5QUjAduZ2RRRhgeB8pFnfmU gallery/blurs/0AKuTh0.jpg +added QmYjMJSrg3eWLEkH94Js2i8EgHWEgbYFV775BnPtPWMkdf gallery/blurs/GdRkiQe.jpg +added QmWhZjvDXM9W4Es2ZFeqYUSZgfB7B5URxCgXHcnjs2d9gk gallery/blurs +added QmPGmwDDBvbh3WwdPmwomBaVkRPcwKxjBqhBwuixoKQ5Ax gallery/cut-left.png +added QmUTzLj5XovXtrVKxNCEV2gewn3uHKuUt2CvfBVMn3aS6F gallery/cut-mov.png +added Qme591h16sr4d1GAd9DTQj2MzS7SGCDddaTjW9X8pmtdQP gallery/cut-right.png +added Qmdh4iSEzJ4JJ8TxpJqMWEFrEJGTXnibMycjFEi5fA2ga2 gallery/cut-top.png +added QmNZhsytZxPJYkYLFsR7p1xgusaDUq4XqPo7JxVjeokMAA gallery/data.json +added Qmc6QSF5vfAKAvRUmeozG39BnomLcjyGCcREbRFCxCGzbx gallery/download.png +added QmVwtBtRCngQJrPcFeq3DSa96FyLqBi7bfMQcSKxcDqLhU gallery/eye.png +added QmNbsd4SMzxSRNUm9J3a5sgBJg8H3tJUGU5bjJVRKkYugD gallery/files/album.zip +added Qma7ZL21cVBTYpMPFx9Z3TKiX3FWgwGog6LqWV8TzMXdrz gallery/files +added QmYksDd1jEtz6kcYb2A7WXiHd2e9iNjtRWhytbQ9pS9SeU gallery/imgs/01O0FMD.jpg +added QmTtYSk393PnukPUGtJtQiiT88ToMsq1rTi6DmZaT4NNiT gallery/imgs/03Kj6JO.jpg +added QmTSJAEzzrTxZc7QCYKquTnxYy93mMeBcxtzxFeVFfZfUU gallery/imgs/04CVyjY.jpg +added QmSbKdZoQfuuXCfkcvJHLVJEAxSf3e3ynpiB9tERJ4otgW gallery/imgs/05vYu5k.jpg +added Qme3prmgJwo3Y2Ao8H1XEcaRq5ZGCgySR4xskJJXBXsfty gallery/imgs/06YYa0i.jpg +added QmQZZjigYvdWdCigVh8icbRNiYueihHHRrVTc3A6RBQpx9 gallery/imgs/06uDGyB.jpg +added Qmbr6nyNEQR3STZ1WFg73Qh7HjjqQfQkJMeBaqiu1BzezW gallery/imgs/07v5H70.jpg +added QmcBkLJWpsG75yZbQnmcKrS2gvNKho44R9rS5mKuEi9uqo gallery/imgs/07vVDJI.jpg +added QmceXN5f82R5Rd8MCvhSUgR8ZA4SgNBSya1vg3hByVKwHu gallery/imgs/097mGzX.jpg +added QmQh7L4vTGGPuV7CbHVBgx7S6Y173oAUXDgE6bVTa6mdjW gallery/imgs/0AKuTh0.jpg +added QmQrryUqtM4UYYVLXiKbhyxBy9i75p46tHMHABrBQDqPWf gallery/imgs/GdRkiQe.jpg +added QmTQzSHt6B92KPzhtdtGE6DP7dvVJzCP2PuRrxZXJeekPX gallery/imgs +added QmUpYBMVqDrhfBCK2ghHjoaX62fQtgrrCxfabaAwYjeDSe gallery/index.css +added QmQeGFPJ6FrjG4GsiTZswZJac7dmLo6G21x9zoFZ1naczr gallery/index.html +added QmRVVLVVcvQnr4mwiNU266SQ49z3BosaiumjT9aydL54HC gallery/index.js +added QmQ1ERFyV2MxhFC5ng1ttVdg86dafivgQyLkwtWbmyHKjV gallery/left.png +added QmQKrKStaD7ijv2A4LP5weMwyXn9mZ6FJEpd4kax85W69h gallery/mootools-core-1.4.js +added Qmd9w91XMVfjHud9mTtGaAKJsxwCEZB2GaoVUA9j7s2oJz gallery/mootools-idle.js +added QmcJ7TBvQHCeQgBkJnidzZWoWDyDErq6BtrVCTAyCsmy3Y gallery/mootools-mooswipe.js +added QmWtHAixSGya2jToEWvAxLeKhiT1dkcXQr6kg7f6nPFdSq gallery/mootools-more-1.4.js +added QmTq42T1LBXiubNNEiGN8howjGKFWYPGUuiZQU68ffqvaq gallery/noise.png +added QmRziDBMHQZybCWF5s7kbe8MdQxugbmXR1WCgaLLGya4jb gallery/right.png +added QmQvs1n39aE9Ey7fFiBkKfNyJvST5LqTjMSUz9MWvKPMeb gallery/throbber.gif +added QmedcnTL7w34755XxnBMCf5zdXu4s57hkPsNxb7fDcVBJj gallery/thumbs/01O0FMD.jpg +added QmNvz7ZjBRo5TRiKgmw3JuhAvmvGibYmVHs7tdGmdKDF2H gallery/thumbs/03Kj6JO.jpg +added QmSopgp2tbbPh1TvTVjutWaAyAf4wfUTiwh65VHR56ZRVi gallery/thumbs/04CVyjY.jpg +added QmfDUXqikZQtx984nwkgf2uvm1H9qCzSkHkeaDvhKLZvoL gallery/thumbs/05vYu5k.jpg +added QmaknQgxfX2MS3We17EzVRssCmr53DzKmbz94bzLXmpKEE gallery/thumbs/06YYa0i.jpg +added QmU4YBZGAG5A7kmQmYZGJMc6z51kdnjtJY2RUfHoZrMw37 gallery/thumbs/06uDGyB.jpg +added QmY2K9Zd2kPntvwenjizWt7fGQvptLia94vkS5ejewkiKH gallery/thumbs/07v5H70.jpg +added QmVofJdrSKXeALbnDi6wesCciCs5weg51aXzD3AR9CU1ug gallery/thumbs/07vVDJI.jpg +added QmRCHjy36Dh9WwaNi6Tj2wAJvqF4cKaaJJwMku5micERX1 gallery/thumbs/097mGzX.jpg +added QmR2YruXg2mujXax6cKuQTHKSJ5zZvLCsCKX6MRnkGVKao gallery/thumbs/0AKuTh0.jpg +added QmQM49GgBY3WNEtT9xTiQrBEuVvYtAgcsG4scL3mQbaCRL gallery/thumbs/GdRkiQe.jpg +added QmUYC9AuQYAQPNCannRUyiNg94MbRHXUZYktMNRqwJbfvF gallery/thumbs +added QmedGgNBaGUDsc8anZ3LZ6HNjfKcoZGDpjoPxXwwKWjK2p gallery +``` + +Take the hash of the folder, in this case "QmedGgNBaGUDsc8anZ3LZ6HNjfKcoZGDpjoPxXwwKWjK2p", and add it to http://ipfs.io/ipfs/ to see the gallery live: + +https://ipfs.io/ipfs/QmedGgNBaGUDsc8anZ3LZ6HNjfKcoZGDpjoPxXwwKWjK2p diff --git a/examples/fgallery/demo/01O0FMD.jpg b/examples/fgallery/demo/01O0FMD.jpg new file mode 100644 index 0000000..d1e125b Binary files /dev/null and b/examples/fgallery/demo/01O0FMD.jpg differ diff --git a/examples/fgallery/demo/03Kj6JO.jpg b/examples/fgallery/demo/03Kj6JO.jpg new file mode 100644 index 0000000..704e8ef Binary files /dev/null and b/examples/fgallery/demo/03Kj6JO.jpg differ diff --git a/examples/fgallery/demo/04CVyjY.jpg b/examples/fgallery/demo/04CVyjY.jpg new file mode 100644 index 0000000..95928b7 Binary files /dev/null and b/examples/fgallery/demo/04CVyjY.jpg differ diff --git a/examples/fgallery/demo/05vYu5k.jpg b/examples/fgallery/demo/05vYu5k.jpg new file mode 100644 index 0000000..55470bb Binary files /dev/null and b/examples/fgallery/demo/05vYu5k.jpg differ diff --git a/examples/fgallery/demo/06YYa0i.jpg b/examples/fgallery/demo/06YYa0i.jpg new file mode 100644 index 0000000..143a9bb Binary files /dev/null and b/examples/fgallery/demo/06YYa0i.jpg differ diff --git a/examples/fgallery/demo/06uDGyB.png b/examples/fgallery/demo/06uDGyB.png new file mode 100644 index 0000000..bd2f661 Binary files /dev/null and b/examples/fgallery/demo/06uDGyB.png differ diff --git a/examples/fgallery/demo/07v5H70.jpg b/examples/fgallery/demo/07v5H70.jpg new file mode 100644 index 0000000..17d3655 Binary files /dev/null and b/examples/fgallery/demo/07v5H70.jpg differ diff --git a/examples/fgallery/demo/07vVDJI.jpg b/examples/fgallery/demo/07vVDJI.jpg new file mode 100644 index 0000000..a2d6d72 Binary files /dev/null and b/examples/fgallery/demo/07vVDJI.jpg differ diff --git a/examples/fgallery/demo/097mGzX.jpg b/examples/fgallery/demo/097mGzX.jpg new file mode 100644 index 0000000..68cbc19 Binary files /dev/null and b/examples/fgallery/demo/097mGzX.jpg differ diff --git a/examples/fgallery/demo/0AKuTh0.jpg b/examples/fgallery/demo/0AKuTh0.jpg new file mode 100644 index 0000000..d3794e2 Binary files /dev/null and b/examples/fgallery/demo/0AKuTh0.jpg differ diff --git a/examples/fgallery/demo/GdRkiQe.jpg b/examples/fgallery/demo/GdRkiQe.jpg new file mode 100644 index 0000000..314ed5a Binary files /dev/null and b/examples/fgallery/demo/GdRkiQe.jpg differ diff --git a/examples/fgallery/output/back.png b/examples/fgallery/output/back.png new file mode 100644 index 0000000..d05b45d Binary files /dev/null and b/examples/fgallery/output/back.png differ diff --git a/examples/fgallery/output/blurs/01O0FMD.jpg b/examples/fgallery/output/blurs/01O0FMD.jpg new file mode 100644 index 0000000..80dfc8a Binary files /dev/null and b/examples/fgallery/output/blurs/01O0FMD.jpg differ diff --git a/examples/fgallery/output/blurs/03Kj6JO.jpg b/examples/fgallery/output/blurs/03Kj6JO.jpg new file mode 100644 index 0000000..8812e7e Binary files /dev/null and b/examples/fgallery/output/blurs/03Kj6JO.jpg differ diff --git a/examples/fgallery/output/blurs/04CVyjY.jpg b/examples/fgallery/output/blurs/04CVyjY.jpg new file mode 100644 index 0000000..5f2ca3c Binary files /dev/null and b/examples/fgallery/output/blurs/04CVyjY.jpg differ diff --git a/examples/fgallery/output/blurs/05vYu5k.jpg b/examples/fgallery/output/blurs/05vYu5k.jpg new file mode 100644 index 0000000..e33eac5 Binary files /dev/null and b/examples/fgallery/output/blurs/05vYu5k.jpg differ diff --git a/examples/fgallery/output/blurs/06YYa0i.jpg b/examples/fgallery/output/blurs/06YYa0i.jpg new file mode 100644 index 0000000..0c7d396 Binary files /dev/null and b/examples/fgallery/output/blurs/06YYa0i.jpg differ diff --git a/examples/fgallery/output/blurs/06uDGyB.jpg b/examples/fgallery/output/blurs/06uDGyB.jpg new file mode 100644 index 0000000..3fdf170 Binary files /dev/null and b/examples/fgallery/output/blurs/06uDGyB.jpg differ diff --git a/examples/fgallery/output/blurs/07v5H70.jpg b/examples/fgallery/output/blurs/07v5H70.jpg new file mode 100644 index 0000000..eadf41e Binary files /dev/null and b/examples/fgallery/output/blurs/07v5H70.jpg differ diff --git a/examples/fgallery/output/blurs/07vVDJI.jpg b/examples/fgallery/output/blurs/07vVDJI.jpg new file mode 100644 index 0000000..03fb7c2 Binary files /dev/null and b/examples/fgallery/output/blurs/07vVDJI.jpg differ diff --git a/examples/fgallery/output/blurs/097mGzX.jpg b/examples/fgallery/output/blurs/097mGzX.jpg new file mode 100644 index 0000000..f2a0788 Binary files /dev/null and b/examples/fgallery/output/blurs/097mGzX.jpg differ diff --git a/examples/fgallery/output/blurs/0AKuTh0.jpg b/examples/fgallery/output/blurs/0AKuTh0.jpg new file mode 100644 index 0000000..8feef8f Binary files /dev/null and b/examples/fgallery/output/blurs/0AKuTh0.jpg differ diff --git a/examples/fgallery/output/blurs/GdRkiQe.jpg b/examples/fgallery/output/blurs/GdRkiQe.jpg new file mode 100644 index 0000000..bee49e6 Binary files /dev/null and b/examples/fgallery/output/blurs/GdRkiQe.jpg differ diff --git a/examples/fgallery/output/cut-left.png b/examples/fgallery/output/cut-left.png new file mode 100644 index 0000000..f24692d Binary files /dev/null and b/examples/fgallery/output/cut-left.png differ diff --git a/examples/fgallery/output/cut-mov.png b/examples/fgallery/output/cut-mov.png new file mode 100644 index 0000000..9744870 Binary files /dev/null and b/examples/fgallery/output/cut-mov.png differ diff --git a/examples/fgallery/output/cut-right.png b/examples/fgallery/output/cut-right.png new file mode 100644 index 0000000..c712544 Binary files /dev/null and b/examples/fgallery/output/cut-right.png differ diff --git a/examples/fgallery/output/cut-top.png b/examples/fgallery/output/cut-top.png new file mode 100644 index 0000000..61b0fd5 Binary files /dev/null and b/examples/fgallery/output/cut-top.png differ diff --git a/examples/fgallery/output/data.json b/examples/fgallery/output/data.json new file mode 100644 index 0000000..bc57c5c --- /dev/null +++ b/examples/fgallery/output/data.json @@ -0,0 +1 @@ +{"blur":[600,336],"thumb":{"min":[150,112],"max":[267,200]},"data":[{"thumb":["thumbs/01O0FMD.jpg",[173,112]],"stamp":1,"blur":"blurs/01O0FMD.jpg","img":["imgs/01O0FMD.jpg",[1600,1035]]},{"thumb":["thumbs/03Kj6JO.jpg",[199,112]],"blur":"blurs/03Kj6JO.jpg","stamp":2,"img":["imgs/03Kj6JO.jpg",[1600,900]]},{"img":["imgs/04CVyjY.jpg",[1600,1063]],"stamp":3,"blur":"blurs/04CVyjY.jpg","thumb":["thumbs/04CVyjY.jpg",[169,112]]},{"stamp":4,"blur":"blurs/05vYu5k.jpg","img":["imgs/05vYu5k.jpg",[1600,900]],"thumb":["thumbs/05vYu5k.jpg",[199,112]]},{"img":["imgs/06uDGyB.jpg",[1600,900]],"blur":"blurs/06uDGyB.jpg","stamp":5,"thumb":["thumbs/06uDGyB.jpg",[199,112]]},{"img":["imgs/06YYa0i.jpg",[1600,900]],"blur":"blurs/06YYa0i.jpg","stamp":6,"thumb":["thumbs/06YYa0i.jpg",[199,112]]},{"img":["imgs/07v5H70.jpg",[1600,900]],"blur":"blurs/07v5H70.jpg","stamp":7,"thumb":["thumbs/07v5H70.jpg",[199,112]]},{"thumb":["thumbs/07vVDJI.jpg",[150,113]],"img":["imgs/07vVDJI.jpg",[1600,1200]],"stamp":8,"blur":"blurs/07vVDJI.jpg"},{"stamp":9,"blur":"blurs/097mGzX.jpg","img":["imgs/097mGzX.jpg",[1600,900]],"thumb":["thumbs/097mGzX.jpg",[199,112]]},{"thumb":["thumbs/0AKuTh0.jpg",[199,112]],"blur":"blurs/0AKuTh0.jpg","stamp":10,"img":["imgs/0AKuTh0.jpg",[1600,900]]},{"img":["imgs/GdRkiQe.jpg",[1594,1200]],"blur":"blurs/GdRkiQe.jpg","stamp":11,"thumb":["thumbs/GdRkiQe.jpg",[150,113]]}],"download":"files/album.zip"} \ No newline at end of file diff --git a/examples/fgallery/output/download.png b/examples/fgallery/output/download.png new file mode 100644 index 0000000..6a160c8 Binary files /dev/null and b/examples/fgallery/output/download.png differ diff --git a/examples/fgallery/output/eye.png b/examples/fgallery/output/eye.png new file mode 100644 index 0000000..562942a Binary files /dev/null and b/examples/fgallery/output/eye.png differ diff --git a/examples/fgallery/output/files/album.zip b/examples/fgallery/output/files/album.zip new file mode 100644 index 0000000..d8aa9fb Binary files /dev/null and b/examples/fgallery/output/files/album.zip differ diff --git a/examples/fgallery/output/imgs/01O0FMD.jpg b/examples/fgallery/output/imgs/01O0FMD.jpg new file mode 100644 index 0000000..87db734 Binary files /dev/null and b/examples/fgallery/output/imgs/01O0FMD.jpg differ diff --git a/examples/fgallery/output/imgs/03Kj6JO.jpg b/examples/fgallery/output/imgs/03Kj6JO.jpg new file mode 100644 index 0000000..dc58ca1 Binary files /dev/null and b/examples/fgallery/output/imgs/03Kj6JO.jpg differ diff --git a/examples/fgallery/output/imgs/04CVyjY.jpg b/examples/fgallery/output/imgs/04CVyjY.jpg new file mode 100644 index 0000000..cec366a Binary files /dev/null and b/examples/fgallery/output/imgs/04CVyjY.jpg differ diff --git a/examples/fgallery/output/imgs/05vYu5k.jpg b/examples/fgallery/output/imgs/05vYu5k.jpg new file mode 100644 index 0000000..257354c Binary files /dev/null and b/examples/fgallery/output/imgs/05vYu5k.jpg differ diff --git a/examples/fgallery/output/imgs/06YYa0i.jpg b/examples/fgallery/output/imgs/06YYa0i.jpg new file mode 100644 index 0000000..c87bb33 Binary files /dev/null and b/examples/fgallery/output/imgs/06YYa0i.jpg differ diff --git a/examples/fgallery/output/imgs/06uDGyB.jpg b/examples/fgallery/output/imgs/06uDGyB.jpg new file mode 100644 index 0000000..ec3d353 Binary files /dev/null and b/examples/fgallery/output/imgs/06uDGyB.jpg differ diff --git a/examples/fgallery/output/imgs/07v5H70.jpg b/examples/fgallery/output/imgs/07v5H70.jpg new file mode 100644 index 0000000..0656f0b Binary files /dev/null and b/examples/fgallery/output/imgs/07v5H70.jpg differ diff --git a/examples/fgallery/output/imgs/07vVDJI.jpg b/examples/fgallery/output/imgs/07vVDJI.jpg new file mode 100644 index 0000000..3766205 Binary files /dev/null and b/examples/fgallery/output/imgs/07vVDJI.jpg differ diff --git a/examples/fgallery/output/imgs/097mGzX.jpg b/examples/fgallery/output/imgs/097mGzX.jpg new file mode 100644 index 0000000..424e542 Binary files /dev/null and b/examples/fgallery/output/imgs/097mGzX.jpg differ diff --git a/examples/fgallery/output/imgs/0AKuTh0.jpg b/examples/fgallery/output/imgs/0AKuTh0.jpg new file mode 100644 index 0000000..0de8305 Binary files /dev/null and b/examples/fgallery/output/imgs/0AKuTh0.jpg differ diff --git a/examples/fgallery/output/imgs/GdRkiQe.jpg b/examples/fgallery/output/imgs/GdRkiQe.jpg new file mode 100644 index 0000000..01686a9 Binary files /dev/null and b/examples/fgallery/output/imgs/GdRkiQe.jpg differ diff --git a/examples/fgallery/output/index.css b/examples/fgallery/output/index.css new file mode 100644 index 0000000..b77c319 --- /dev/null +++ b/examples/fgallery/output/index.css @@ -0,0 +1,291 @@ +/* General reset */ +html, body +{ + overflow: hidden; /* IE<9 */ + padding: 0; + margin: 0; + border: 0; +} + +img +{ + border: none; +} + +/* Main gallery elements */ +#gallery h2 +{ + margin: 1em; + font-family: monospace; +} + +#gallery +{ + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + + display: none; + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + background: #111; +} + +#gallery.no-cursor * +{ + cursor: none !important; +} + +#gallery a, #gallery a:active, #gallery a:focus +{ + outline: none; +} + +#gallery #background +{ + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; +} + +#gallery #noise +{ + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + background-image: url(noise.png); + background-repeat: repeat; +} + +#gallery #content +{ + position: absolute; + top: 0; + left: 0; +} + +#gallery #flash +{ + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + background: #fff; +} + +/* Main image */ +#gallery #content img.current +{ + box-shadow: 0 0 2.5em rgba(0, 0, 0, 0.5); + -moz-box-shadow: 0 0 2.5em rgba(0, 0, 0, 0.5); + -webkit-box-shadow: 0 0 2.5em rgba(0, 0, 0, 0.5); +} + +/* Header */ +#gallery #content #header +{ + -webkit-user-select: text; + -khtml-user-select: text; + -moz-user-select: text; + -ms-user-select: text; + + position: absolute; + top: 0; + left: 0; + color: #fff; + background: #111; /* IE<9 */ + background: rgba(0, 0, 0, 0.7); + font-family: sans-serif; + padding: 0.5em; +} + +#gallery #content #header img +{ + vertical-align: middle; + height: 1em; +} + +#gallery #content #header #throbber +{ + height: 100%; +} + +#gallery #content #header a +{ + text-decoration: none; + color: #fff; +} + +#gallery #content #header a:hover +{ + text-decoration: underline; +} + +/* Navigation arrows */ +#gallery #content #left, +#gallery #content #right +{ + position: absolute; + width: 5%; + min-width: 2.5em; + top: 0; + bottom: 0; +} + +#gallery #content #left +{ + left: 0; +} + +#gallery #content #right +{ + right: 0; +} + +#gallery #content #left div, +#gallery #content #right div +{ + position: absolute; + cursor: pointer; + top: 0; + left: 0; + bottom: 0; + right: 0; + opacity: 0.3; + filter: alpha(opacity=30); +} + +#gallery #content #left div:hover, +#gallery #content #right div:hover +{ + opacity: 0.6; + filter: alpha(opacity=60); +} + +#gallery #content #left img, +#gallery #content #right img +{ + position: absolute; + display: block; + margin: auto; + top: 0; + bottom: 0; +} + +#gallery #content #left img +{ + left: 25%; +} + +#gallery #content #right img +{ + right: 25%; +} + +/* Thumbnail list */ +#gallery #list +{ + position: absolute; + background: rgba(255, 255, 255, 0.1); + padding-top: 0.5em; + padding-left: 0.5em; + + box-shadow: 0 0 1em rgba(0, 0, 0, 0.5); + -moz-box-shadow: 0 0 1em rgba(0, 0, 0, 0.5); + -webkit-box-shadow: 0 0 1em rgba(0, 0, 0, 0.5); +} + +#gallery #list:focus +{ + outline: none; +} + +/* Invidivual thumbnails */ +#gallery #list .thumb +{ + display: inline-block; + margin-bottom: 0.5em; + margin-right: 0.5em; + + box-shadow: 0.25em 0.25em 0.25em rgba(0, 0, 0, 0.5); + -moz-box-shadow: 0.25em 0.25em 0.25em rgba(0, 0, 0, 0.5); + -webkit-box-shadow: 0.25em 0.25em 0.25em rgba(0, 0, 0, 0.5); +} + +#gallery #list .thumb a +{ + display: block; + position: relative; + border: 2px solid #111 +} + +#gallery #list .thumb.current a +{ + border: 2px solid #f00; +} + +#gallery #list .thumb a:hover, +#gallery #list .thumb a:focus +{ + border: 2px solid #fff; +} + +#gallery #list .thumb.current a:hover, +#gallery #list .thumb.current a:focus +{ + border: 2px solid #f00; +} + +/* Thumbnail styles */ +#gallery #list .thumb .ovr +{ + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; +} + +#gallery #list .thumb.cut-left .ovr +{ + background: url(cut-left.png) top left repeat-y; +} + +#gallery #list .thumb.cut-right .ovr +{ + background: url(cut-right.png) repeat-y top right; +} + +#gallery #list .thumb.cut-left.cut-right .ovr +{ + background: url(cut-left.png) top left repeat-y, url(cut-right.png) repeat-y top right; +} + +#gallery #list .thumb.cut-top .ovr +{ + background: url(cut-top.png) top left repeat-x; +} + +#gallery #list .thumb.cut-bottom .ovr +{ + background: url(cut-right.png) repeat-x bottom left; +} + +#gallery #list .thumb.cut-top.cut-bottom .ovr +{ + background: url(cut-left.png) top left repeat-x, url(cut-right.png) repeat-x bottom left; +} + +#gallery #list .thumb.movie .ovr +{ + background: url(cut-mov.png) top left repeat-y, url(cut-mov.png) top right repeat-y; +} diff --git a/examples/fgallery/output/index.html b/examples/fgallery/output/index.html new file mode 100644 index 0000000..8da47e0 --- /dev/null +++ b/examples/fgallery/output/index.html @@ -0,0 +1,19 @@ + + +
+ + + + + + + + + + + + + + diff --git a/examples/fgallery/output/index.js b/examples/fgallery/output/index.js new file mode 100644 index 0000000..47f65ba --- /dev/null +++ b/examples/fgallery/output/index.js @@ -0,0 +1,677 @@ +// fgallery: a modern, minimalist javascript photo gallery +// Copyright(c) 2003-2014 by wave++ "Yuri D'Elia"