15 ms·
Show HN: Exposé – a static site generator for photos and videos
- hobonumber1 11y agoThis looks cool. Is there a demo link that I can check out?
- stevesearer 11y agoI think the link in the post to http://jack.ventures/ http://jack.ventures/ is a demo.
- deleted 11y ago[deleted]
- awfullyjohn 11y agoIt looks like he originally built the site for himself (it made HN awhile back) and then generalized and open sourced it for everyone.
- deleted 11y ago[deleted]
- Jack000 11y agoso this is just a bit of glue code for imagemagick/ffmpeg that I use to generate my blog. Last time I was on HN there was some interest in what I was using for the backend, so I cleaned up the code a bit and put it on github
- mutagen 11y agoThanks for posting this. I enjoyed your photo-essays and I'm among those interested in how you present them.
- jay-saint 11y agothank you for sharing. i like the design and will be checking this out.
- retbull 11y agoThis is awesome I just showed it to a friend of mine who was still using a flicker blog to host then a blogger blog to grab the images and compile them then a wordpress blog to display them........................ To say the least this has been awesome.
- pingec 11y agoOut of curiosity, what kind of photography equipment was used for these photos and videos? They are really nice.
- Jack000 11y agoI was using a panasonic GX7 with the kit lens and 20mm 1.7 prime, and a few random vintage lenses. I'm glad you enjoyed it :]
- Nadya 11y agoI see that camera toted by a lot of photographers after I go "Oh wow, these photos look great!" As much as it's the artist over the tool - I think I'm going to invest in this camera as my next step into photography. I've seen nothing but praise for the GX7.
- micampe 11y agoI suggest you also get the mentioned Lumix 20mm lens with it: it’s simply a beautiful lens, even compared to more expensive ones. Its only downside is a not exactly state of the art focus speed, but it’s manageable, especially if you plan to do this type of travel photography.
- Nadya 11y agoI was actually planning on that, seeing as I have little knowledge of lens other than the lens matters as much if not more than the camera used. Figure if I like the output I may as well invest in similar tools and practice. :) (Unless most of those photos are w/ the vintage lens that went unnamed...)
- Jack000 11y agoI didn't use the vintage lenses all that much, autofocus and zoom is just much more convenient. Also on the web 4k is pretty much the max viewable resolution. Camera lenses are designed for the sensor resolution which is typically 2-4x that amount, so lens quality almost doesn't matter for pictures viewed on the web. I chose the GX7 because it's really small and light with decent image quality. If I were getting started now I'd be taking a serious look at the sony A7 M1.
- jeanetienne 11y agoThank you so much. I bookmarked your blog about Inner Mongolia a while ago and wanted to find out how you did it. Thanks for publishing it!
- mlapeter 11y agoThis is really great! Is it open source? I couldn't see a license or anything in the readme so wasn't sure.
- lemming 11y agoThis is really nice! Getting photos and especially video online in an easy way but still have it be beautiful has been really tricky. I'll definitely use this.
- lucaspottersky 11y agoi like the results. now, it would be very useful to have a friendly GUI to edit those things and generate the YML files for you.
- nathancahill 11y agoPhenomenal. I've bounced between Tumblr/Wordpress with photoblog themes, Flickr, 500px and Instagram for sharing my film photography with friends. This is better than all of those, especially with the captioning. Since most of my photographs are organized by trip or theme, this is perfect.
- cataflam 11y agoThis looks amazing. I was using a tool one of my friends made, with a similar idea, just put images and videos in directories and have a script automatically generate a nice output. It can be found at https://github.com/jlaine/django-coconuts https://github.com/jlaine/django-coconuts, but yours looks spectacular. I'm tempted to switch.
- thieving_magpie 11y agoI didn't know that I needed this, but now that I know it exists I really need this. Awesome job, thank you.
- areohbe 11y agoThis is wonderful. Superb work.
- marcfowler 11y agoThis looks amazing - really great work. I'll definitely check this out properly.
- 3stripe 11y agoLovely. Would be swell if you could plug it straight into a Dropbox folder.
- rekshaw 11y agoWow, love your bio: "These days I mostly travel and work on random stuff that I find interesting. I'm not really looking for employment, but I've always wanted to work at NASA and/or Google. So if you're NASA and/or Google HR, drop me a line ;]" I wish I had that freedom.
- ausjke 11y agoreally cool and I also learned a new way to check dependencies under bash: command -v convert >/dev/null 2>&1 || { echo "ImageMagick is a required dependency, aborting..." >&2; exit 1; }
- deleted 11y ago[deleted]
- falcolas 11y agoGiven that it's a static site, why the JS requirement? Most browsers already intelligently handle keeping the "right" number of assets in memory, do you believe your JavaScript handles it better? Also, it's not at all responsive to different viewport sizes; this might be a good thing to address. EDIT: Oof, that's a kick in the karma. Aah, well.
- Jack000 11y agoI'd actually agree that most static sites shouldn't require js. For image galleries though it really needs the lazy loading to save bandwidth imo. Also it's "sort of" responsive, it just doesn't handle window resize right now. I didn't think that was an important use case, but now multiple people have pointed it out so I'll add it.
- eric-hu 11y agoThis looks amazing. Thank you for generalizing this and open sourcing it. For anyone looking to use the polygon word wrap feature as in the demo on the Github page with the Eiffel Tower, take a look at its responsive behavior before you make that post. As you shrink the window down on jack.ventures, some text can be cut off, or no longer show up on a clear portion of the image like a wall. This isn't a bug with the software so much as a flaw with the magazine "words on image clearing" style layout that doesn't translate perfectly to the web medium.
- Jack000 11y agoI should probably add a redraw on window resize. Right now it does that polygon stuff once on page load. So if you resize the window and reload the page it should fit everything correctly again.
- eric-hu 11y agoYou may want to consider CSS breakpoints. They'll do that automatically without the page refresh, assuming the content layout is done using CSS already. A rough design pattern I've seen is Desktop resolutions: use layout in terms percent. For instance: left side of text begins at 50% of image width. Tablet and mobile resolutions: fixed layouts for each resolution supported. If you're doing the polygon containment using javascript, I imagine implementing such behavior might get really complex.
- Jack000 11y agocould do with some CSS media queries. Right now I'm using a javascript calculation for font size to avoid the discrete steps in CSS breakpoints. I figured you don't see anything without javascript anyways so might as well go all the way. My philosophy for mobile resolutions is to just deliver the desktop experience. The text will be tiny yes, but you can just pinch to zoom. Sites that lock down the zoom kind of annoy me personally so that's why I did it that way. The second theme does have media queries for mobile sizes though, since it doesn't rely on the text being in a particular spot to be readable.
- flanbiscuit 11y agoI just got back from a trip and I have a lot of photos and some videos. This is perfect! I'm going to try this out as soon as I get home tonight
- giancarlostoro 11y agoWould be cool if you could do something similar to this with git repositories as well... Hmmm..
- noahbradley 11y agoLove, love, love this. I travel and shoot a lot of photos, so this would be perfect for putting those out there.
- thekevan 11y agoThis is an excellent way to present images and videos. Also, reading about your work is an inspiration. Thanks!
- therealmarv 11y agoLooks great, but man... this seems like websites for the top 10% of the world with great internet speed. This sites are really not good with slow(er) internet. Also look at amount of traffic needed for full example of http://jack.ventures http://jack.ventures even do not want to spend my mobile traffic on that example (although LTE is fast enough).
- Jack000 11y agoyou can actually adjust the compression settings in the script. I just have mine on the high end out of personal preference. On mobile it should load the mobile-size version, which is much smaller than what you see on the desktop.
- therealmarv 11y agoyes, don't get me wrong. It looks beautiful on desktop and I wished everybody could have great internet speed. But I know from professional experiences that e.g. people from South Africa will hate your pages (1-2Mbit is good DSL there). I know I only complain... but I also see bad styling. Most people nowadays browse with mobile and your fonts are too small and unreadable there (I also know there is no easy solution together with the pictures alignment). Just saying... for people on desktop on good internet speed +1 but definitely not a solution which everybody should copy (even not photographers, there is a reason why thumbnail galleries exist, a good example is Google Photos)
- gknoy 11y agoYou seem to have pretty clear ideas about how users with slow connections might want to experience this. Would you consider making a pull request with an alternate theme (there are two already included)? You could adjust the styling as you see fit, and so forth. Best of all, were you to actually use this, you could modify the compression settings and even the scaling in a way that fits your needs, even if you don't end up making a PR on the original. Looking at this, there are lots of ways where it feels like there could be things added to this to make it better -- a photo reorganizer, or something that would let you auto-tag / order photos from within the interface. Those kinds of things would be really neat, but are likely outside the scope of the (amazing) tool that Jack was kind enough to give us. If one were to go far enough down those rabbit-holes, pretty soon one would have rewritten it as a CMS. ;)
- callmeed 11y agoThis is very cool. Love that its just a shell script. In a similar vein, I have a Jekyll plugin that reads folders of images and can create galleries: https://github.com/callmeed/jekyll-image-set https://github.com/callmeed/jekyll-image-set Nice that you have video support. Can't wait to give this a try.
- raimue 11y agoThank you very much! I appreciate the use of simple bash shell script instead of a scripting language with lots of runtime dependencies.
- evantahler 11y agotight.
- bobfunk 11y agoAdded it to staticgen.com now - love these small non-general purpose static gens :) Reminds me of ThumnsUp: https://github.com/rprieto/thumbsup https://github.com/rprieto/thumbsup
- superic 11y agoBeautiful work and amazing photography! Interested in making things at Flickr? Drop me a line at eric at flickr.com :)
- jaza 11y agoNice work. I guess that for a sitegen so focused on photos and videos, a bash script works well - lets you do whatever you need directly with imagemagick and ffmpeg, no beating around the bush. And I like your sites! Now... all I need is to be a better photographer, then I'd be able to actually create something nice with your script. Hahaha.
- Omnipresent 11y agoLooks beautiful. Support for google photos would make this more versatile.
- dyogenez 11y agoThis is seriously cool! I'm going to have to checkout the code for this one to see how some of this was handled. Do you have any other sites doing photo/video stories which have been an inspiration for this project?
- Jack000 11y agoyou've probably seen this already, but I'm a big fan of Stammy: http://paulstamatiou.com/ http://paulstamatiou.com/ and the the NY times multimedia presentations: http://www.nytimes.com/newsgraphics/2013/12/30/year-in-interactive-storytelling/ http://www.nytimes.com/newsgraphics/2013/12/30/year-in-inter...
- mettamage 11y agoGot a question: for fun I did this over about 400 to 500 photos. I partially did it also to stress test it. But the HTML file is empty. Did I do something wrong? The rest of the folders are there. Here is the output if someone is interested to brainstorm about this problem. I edited the output a bit to make it slightly more readable. <begin output> Scanning directories. Populating nav. Reading files........................... ................................ ................................ ............................................ <some_conversion_errors_b/c_of_corrupted_file_ommited> .............................................................. .............................................................. .............................................................. .............................................................. .............................................................. ......................... Building HTML.......................................................... .............................................................. .............................................................. .............................................................. .............................................................. .............................................................. .............................................................. ................................................/Users/my_user _name/Downloads/Expose-master/expose.sh: line 139: /usr/bin/sed: Argument list too long Starting encode fotos0001 fotos0002 fotos0003 ... <huge_error_of_same_corrupted_image_omitted> ... fotos0489 fotos0490 fotos0491 </end output> Anyways, I checked the image which was indeed corrupted, so ImageMagick was right on the money on that one. I still don't get it though why there's no HTML in the HTML file.
- brazzledazzle 11y ago>/usr/bin/sed: Argument list too long Maybe all of the filenames are passed as a single argument to sed?
- mzs 11y agoIf so xargs or just a loop one file at a time should fix it.
- mettamage 11y agoI do have reasons to believe this is the error. Currently I tested it with 10 photo's (corrupted image removed), 200, 100, 150 and now I'm doing 190 (note: numbers are a ball park estimate). Interestingly, 200 didn't work, but it also gave the "/Users/mettamage/Downloads/Expose-master/expose.sh: line 139: /usr/bin/sed: Argument list too long" error, while the others did not. Edit: tested out all combinations. Argument list too long is indeed the error. I got this with 188 pictures: Scanning directories. Populating nav. Reading files......................................................................................................................................................................................... Building HTML........................................................................................................................................................................................ Starting encode fotos0001 fotos0002 .. etc. And I got this with 189 pictures. Scanning directories. Populating nav. Reading files.......................................................................................................................................................................................... Building HTML........................................................................................................................................................................................./Users/mettamage/Downloads/Expose-master/expose.sh: line 139: /usr/bin/sed: Argument list too long Starting encode fotos0001 fotos0002 ... etc. xargs it is!
- desireco42 11y agoThank you, this is exactly what I was looking for (actually thinking how to cobble up together myself). So I guess I am target audience :) I want to add that sites look awesome and this is perfect for large number of people, I just want to thank you one more time for making this, it is also excellent starting point for photo sites.
- lucb1e 11y ago> actually thinking how to cobble up together myself Same here, it has been floating around my mind for a couple of weeks now and then this shows up :)
- chadscira 11y agoI really don't understand the appeal of these static site generators. Why don't people just toss something like CloudFlare in front of their dynamic sites and turn the edge caching up. I mean this is free, the bandwidth expenses are covered, and you now have a globally accessible site. Unless you're just trying to get away with hosting your whole site as a GitHub page ;)
- davidlumley 11y agoYou can use S3 to make hosting your site super simple, and super cheap. I don't understand why people use a database for content that (for the most part) doesn't need one.
- Turing_Machine 11y agoAgree 100%. Requiring an active server and database seems like overkill for a site that's read-only (or very nearly so) You could easily replace his rsync with an s3cmd sync to ship the stuff straight to the S3 bucket. Sure, S3 may cost more per byte shipped than serving it yourself, but probably not for a personal site (if you factor in the need to pay for a running server and the extra hassles and time cost involved with maintaining that server). You can pay for a lot of S3 bandwidth with what you pay for even a cheap VPS.
- chadscira 11y agoYou can also use something like DigitalOcean + CloudFlare Edge caching, and still be able to use a DB. At the end of your day your content is already being stored in a database or in some custom format to be able to generate the static site aways. You have a lot more options if you go through a database first vs a custom static format.
- fsloth 11y ago"I really don't understand the appeal of these static site generators." Simplicity? If the content is not an application but a static publication I'm left wondering how making it dynamic would improve anything...
- anderspitman 11y agoVery cool. Somewhat off topic: I've been looking recently for a good way to host many GBs of photos and videos for my friends and family to browse and download. Basically an open source version of Google Drive's file browser, with thumbnails and image and video previews. Any suggestions?
- NKCSS 11y agoVery cool. I have little else to add, but I wanted to let you know anyway :) Keep it up!
- cmstoken 11y agoBeautiful work! I'm in love with your site. I'm definitely going to be using the software. Thank you Jack!
- caiowilsonb 11y agoThank you so much for sharing.
- hkjtme 11y agoif this would exist for S3.. i would be soooo happy. tried to find similar (even thumbnails would be ok) .. nothing out there.
- foolinaround 11y agocan the video clips play the audio when brought into focus? maybe we want to play the audio just once I guess?