[{"data":1,"prerenderedAt":312},["ShallowReactive",2],{"project-3862269":3},{"id":4,"name":5,"line":6,"line_source":7,"title":8,"url":9,"domain":10,"maker":11,"posted_at":12,"year":13,"points":14,"comments":15,"rank_in_year":16,"shown_in_year":17,"top":18,"tier":19,"category":20,"subcategory":21,"format":22,"keywords":23,"reception":27,"sentiment":28,"stance_mix":29,"scored_comments":34,"aspects":35,"strip":41,"post_text":43,"what":44,"said":79,"maker_in_thread":178,"shape":188,"grid":192,"attempts":274,"same_week":275,"maker_shows":221,"maker_hidden":304,"reader_version":305,"card":306},"3862269","Punch","A Fun and Easy Way to Build Modern Websites","title","Show HN: Punch - A Fun and Easy Way to Build Modern Websites","http:\u002F\u002Flaktek.com\u002F2012\u002F04\u002F19\u002Fpunch-a-fun-and-easy-way-to-build-modern-websites\u002F","laktek.com","laktek",1334831629,2012,91,33,247,1677,15,"notable","dev_tools","static site generator","cli",[21,24,25,26],"node.js","mustache","json templates","curious",-0.048,{"positive":30,"neutral":31,"mixed":32,"critical":33},2,8,1,3,14,{"docs":36,"idea":38,"design":39,"execution":40},{"positive":37,"critical":37},0,{"positive":32,"critical":32},{"positive":32,"critical":32},{"positive":37,"critical":32},[33,37,37,33,33,37,37,42,37,33,37,32,37,37,33,37,33,37,37,37,37,32,37,37,42,33,37,37,37,33,37,32,33],5,null,{"problem":45,"audience":52,"pricing":43,"motivation":56,"time_to_build":43,"stack":60,"openness":78,"stage":78,"team_size":78},{"value":46,"source":47,"evidence":48},"Building and maintaining modern websites with only HTML, CSS and JavaScript, without server-side stack knowledge","maker",[49],{"id":50,"by":11,"text":51},"3864017","HTML, CSS and JavaScript is the 3 most basic web technologies related technologies one could learn (check the courses in Codecademy -…",{"value":53,"source":47,"evidence":54},"People who know only the basics of HTML, CSS and JavaScript",[55],{"id":50,"by":11,"text":51},{"value":57,"source":47,"evidence":58},"Remove the layer of server-side complexity from simple websites",[59],{"id":50,"by":11,"text":51},[61,70,74],{"value":62,"source":47,"evidence":63},"JavaScript (Node.js)",[64,67],{"id":65,"by":11,"text":66},"3863104","Let me clarify, Punch can be used both as a static site generator and as well as a client side renderer. Actually, the client-side rendering capability comes as a nice side…",{"id":68,"by":11,"text":69},"3863128","Punch generates static HTML pages using Mustache and JSON, which can be served from a server. Apart from that Punch's renderer can also be used on client-side to render dynamic…",{"value":71,"source":47,"evidence":72},"Mustache templates",[73],{"id":68,"by":11,"text":69},{"value":75,"source":47,"evidence":76},"JSON data",[77],{"id":68,"by":11,"text":69},"unknown",{"praise":80,"objections":93,"requests":120,"questions":132,"alternatives":149},[81],{"value":82,"source":83,"evidence":84},"Idea is useful for people wanting simple static sites","commenter",[85,89],{"id":86,"by":87,"text":88},"3867467","178","Nice idea, thanks for doing this. I was searching for something like this a few weeks back. Without having had a closer look at it, how 'complex' you think the content and…",{"id":90,"by":91,"text":92},"3862791","instakill","I absolutely love the 'view static version' on the Curbee demo page for those that have JS disabled or have a slow connection. Absolutely fucking love it.",[94,109,113],{"value":95,"source":83,"evidence":96},"Client-side rendering may hurt search engine indexing",[97,101,105],{"id":98,"by":99,"text":100},"3862937","randomdrake","Others have raised the issue of client side rendering causing issues with search engines. By putting it so prominently on the website, it does make it seem as though it is the…",{"id":102,"by":103,"text":104},"3862651","dhawalhs","I did something similar with a resume template [1] where instead of mustache I use angular. The problem with a purely client side solution is that it doesn't sit well with search…",{"id":106,"by":107,"text":108},"3862476","maebert","Very nice indeed. Currently thinking about switching to jekyll... question though, aren't there SEO issues when you render all the content client-side?",{"value":110,"source":83,"evidence":111},"Screencast does not show client-side rendering the site emphasises",[112],{"id":98,"by":99,"text":100},{"value":114,"source":83,"evidence":115},"Demo About page looks unimpressive",[116],{"id":117,"by":118,"text":119},"3863254","exim","The About page generated in the demo video doesn't look modern or impressive in any other meaning. Would be great to see video with more advanced example.",[121,126],{"value":122,"source":83,"evidence":123},"More advanced demo video or example",[124,125],{"id":98,"by":99,"text":100},{"id":117,"by":118,"text":119},{"value":127,"source":83,"evidence":128},"Clearer explanation of what Punch is in the docs",[129],{"id":130,"by":103,"text":131},"3863194","Sorry, I misinterpreted what Punch actually is. Maybe you could elaborate in \"What is Punch\" section that it uses node.js to generate HTML pages?",[133,142],{"value":134,"source":83,"evidence":135},"Does client-side rendering affect SEO",[136,137,138],{"id":106,"by":107,"text":108},{"id":102,"by":103,"text":104},{"id":139,"by":140,"text":141},"3862764","StavrosK","What do you mean? Why? What problem do search engines have indexing static content? I've never heard of anything like this before.",{"value":143,"source":83,"evidence":144},"Why use JavaScript and CSS instead of CoffeeScript or Dart",[145],{"id":146,"by":147,"text":148},"3863907","vibrunazo","> Aim of Punch is to help anyone to build (and maintain) modern websites using only HTML, CSS and JavaScript Pardon my ignorance, but I thought the modern trend was to move away…",[150,160,167,171],{"value":151,"source":83,"evidence":152},"Jekyll",[153,157],{"id":154,"by":155,"text":156},"3863557","minhajuddin","I've taken a different approach to solve this problem (http:\u002F\u002Fsubstancehq.com\u002F). It uses mustache but does the rendering on the server side. My aim is to make it a lot better…",{"id":158,"by":155,"text":159},"3866714","Yes, a simple post-receive hook will do the regeneration, but when you have a lot of small edits (I usually do this when I finish off my blog posts), the time to commit, push and…",{"value":161,"source":83,"evidence":162},"StaticMatic",[163],{"id":164,"by":165,"text":166},"3865044","simplify","Another option for building static websites is StaticMatic[1]. It uses Tilt for templating, so you can use mustache, haml, sass, coffeescript, or whatever. There's also a nice…",{"value":168,"source":83,"evidence":169},"Substance",[170],{"id":154,"by":155,"text":156},{"value":172,"source":83,"evidence":173},"Quill",[174],{"id":175,"by":176,"text":177},"3864197","tomatohs","A friend and I created a similar static node engine called Quill at the last HackNY hackathon. http:\u002F\u002Fjustquillin.com.",{"comments":179,"answered":42,"key":180},9,[181,182,185],{"id":65,"text":66},{"id":183,"text":184},"3871120","Complexity depends a lot on the structure you would choose. It would be easy to handle a scenario like you mention by using both static page generation and client-side rendering.…",{"id":186,"text":187},"3862464","Fixed. Thanks for spotting it.",{"commenters":189,"max_depth":31,"maker_replies":179,"first_comment_mins":190,"lifespan_hours":191},21,59,44,[193,195,197,199,203,205,209,211,213,215,219,220,223,225,228,231,233,234,236,239,240,243,246,249,251,253,254,257,260,262,264,265,270],[98,37,33,194,99,37],"project\u002Fmixed\u002Fdocs",[65,37,37,196,11,32],"maker\u002Fneutral\u002Fdocs",[154,32,37,198,155,37],"other\u002Fneutral\u002Fnone",[200,32,33,201,202,37],"3863726","project\u002Fneutral\u002Fnone","daemon13",[204,32,33,201,155,37],"3863760",[206,32,37,207,208,37],"3864818","commenter\u002Fcritical\u002Fidea","AncientPC",[158,32,37,210,155,37],"commenter\u002Fneutral\u002Fidea",[86,30,42,212,87,37],"project\u002Fpositive\u002Fidea",[183,30,37,214,11,32],"maker\u002Fneutral\u002Fnone",[216,33,33,217,218,37],"3862422","project\u002Fneutral\u002Fdocs","hilti",[186,33,37,196,11,32],[102,221,32,222,103,37],4,"project\u002Fcritical\u002Fidea",[139,221,37,224,140,37],"commenter\u002Fneutral\u002Fnone",[226,221,37,224,227,37],"3862885","Jasber",[229,221,33,230,140,37],"3862963","project\u002Fneutral\u002Fidea",[68,221,37,232,11,32],"maker\u002Fneutral\u002Fidea",[130,221,33,196,103,37],[235,221,37,196,11,32],"3863296",[237,221,37,198,238,37],"3863653","antidaily",[164,42,37,198,165,37],[241,42,37,242,11,32],"3865125","commenter\u002Fcritical\u002Fdesign",[117,244,32,245,118,37],6,"project\u002Fcritical\u002Fdesign",[247,244,37,248,11,32],"3863291","maker\u002Fneutral\u002Fdesign",[175,250,37,198,176,37],7,[90,31,42,252,91,37],"project\u002Fpositive\u002Fdesign",[106,179,33,230,107,37],[255,179,37,210,256,37],"3862495","bungle",[258,179,37,210,259,37],"3862637","bmelton",[261,179,37,232,11,32],"3862512",[146,263,33,230,147,37],10,[50,263,37,232,11,32],[266,267,32,268,269,37],"3862665",11,"project\u002Fcritical\u002Fexecution","Stenerson",[271,267,33,272,273,37],"3862689","project\u002Fneutral\u002Fexecution","inuke",[],[276,280,285,290,294,299],{"id":277,"name":278,"points":279,"category":20},"3864615","Filepicker.io",193,{"id":281,"name":282,"points":283,"category":284},"3870644","Bridge",105,"infrastructure",{"id":286,"name":287,"points":288,"category":289},"3866047","Spacetime",89,"consumer_social",{"id":291,"name":292,"points":293,"category":20},"3881827","Parse Login\u002FSignup Views",82,{"id":295,"name":296,"points":297,"category":298},"3871076","Tasskr",61,"productivity",{"id":300,"name":301,"points":302,"category":303},"3883721","Tiny World",49,"games",false,"v2",{"id":307,"name":5,"line":6,"ai":304,"cat":20,"year":13,"points":14,"comments":15,"rec":27,"s":308,"top":18,"kw":309,"maker":11,"domain":10,"tier":19,"attempts":37,"strip":310,"url":9,"mix":311,"praise":82,"objection":95,"sub":21},3862269,-0.05,[21,24,25,26],"300330050301003030000100530003013",[30,31,32,33],1793990880586]