[{"data":1,"prerenderedAt":434},["ShallowReactive",2],{"project-7429371":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":28,"sentiment":29,"stance_mix":30,"scored_comments":34,"aspects":35,"strip":44,"post_text":47,"what":48,"said":93,"maker_in_thread":211,"shape":215,"grid":218,"attempts":397,"same_week":398,"maker_shows":304,"maker_hidden":427,"reader_version":428,"card":429},"7429371","brace-tags","A dead simple static site generator – just two template tags","title","Show HN: A dead simple static site generator – just two template tags","http:\u002F\u002Ftags.brace.io","tags.brace.io","colevscode",1395243531,2014,94,76,293,2272,13,"notable","dev_tools","static site generator","cli",[21,24,25,26,27],"templating","server side includes","python","static html","debated",-0.11,{"positive":31,"neutral":18,"mixed":32,"critical":33},8,0,11,32,{"idea":36,"design":38,"performance":40,"execution":41,"docs":42},{"positive":37,"critical":37},6,{"positive":39,"critical":32},2,{"positive":32,"critical":39},{"positive":32,"critical":39},{"positive":32,"critical":43},1,[43,32,32,32,32,45,46,46,43,43,32,32,32,32,32,32,43,46,46,32,32,46,46,32,32,46,45,32,32,32,32,32,45,45,43,43,43,32,46,45],5,3,null,{"problem":49,"audience":64,"pricing":47,"motivation":74,"time_to_build":47,"stack":79,"openness":92,"stage":92,"team_size":92},{"value":50,"source":51,"evidence":52},"Reusing headers, footers and other shared HTML across static pages without a heavy generator.","commenter",[53,57,61],{"id":54,"by":55,"text":56},"7429658","mikegioia","This allows you to include other html files from within your templates. Instead of writing out the same \u003Cnav> and \u003Cheader> html in every single file, you can just `include…",{"id":58,"by":59,"text":60},"7429702","mokkol","partials :-) try to have 1 header in like 10 pages. That is a lot of copy pasting :-)",{"id":62,"by":11,"text":63},"7429921","Fair point. Python was chosen because it's an accessible language for new programmers. As for template languages, most are very complex. We wanted something minimal. As for that…",{"value":65,"source":51,"evidence":66},"Web designers and people writing static HTML sites.",[67,70],{"id":68,"by":11,"text":69},"7430657","We totally agree, and use pip and virtual envs for everything. However we chose python, and easy_install because it's pre-installed all macbooks going back to snow leopard.…",{"id":71,"by":72,"text":73},"7431807","alanfalcon","Thanks! I'm in the fun position of essentially being a graphic designer made to be a web designer in a stingy startup environment where they don't want to pay someone to actually…",{"value":75,"source":76,"evidence":77},"Wanted a minimal template system instead of complex template languages.","maker",[78],{"id":62,"by":11,"text":63},[80,85],{"value":81,"source":76,"evidence":82},"Python",[83,84],{"id":62,"by":11,"text":63},{"id":68,"by":11,"text":69},{"value":86,"source":51,"evidence":87},"watchdog",[88],{"id":89,"by":90,"text":91},"7431671","workhere-io","Is there any way you could make the watch feature not dependant on watchdog? The watchdog installation fails on pip on Mac. I then had to install Homebrew just to be able to…","unknown",{"praise":94,"objections":112,"requests":143,"questions":166,"alternatives":180},[95],{"value":96,"source":51,"evidence":97},"Simple and easy to use, less complex than alternatives.",[98,102,105,109],{"id":99,"by":100,"text":101},"7429905","bmj","I've been looking at some of the options on that website, and this one seems to be less complex than many of the tools there. This isn't meant to be a blogging tool, but rather a…",{"id":103,"by":90,"text":104},"7431498","Why do we need another one? Because this one is much simpler to use than Jekyll and doesn't require you to install Ruby.",{"id":106,"by":107,"text":108},"7431591","dangayle","I like this very much. I used to do very similar with PHP, but I'm now a Python dev. Sometimes, just sometimes, writing plain old simple html is easier, and having a basic…",{"id":110,"by":90,"text":111},"7431470","Very nice and easy to use.",[113,120,127,135],{"value":114,"source":51,"evidence":115},"Many static site generators already exist.",[116],{"id":117,"by":118,"text":119},"7429763","kurrent","I'm not being facetious, but this \"yet another static site generator\" joins the list with 230+ other generators. (see http:\u002F\u002Fstaticsitegenerators.net\u002F) Why do we need another one?",{"value":121,"source":51,"evidence":122},"Server side includes already solve this.",[123],{"id":124,"by":125,"text":126},"7429766","bryanlarsen","You could use server side includes instead, which have been a feature of web servers for about 20 years now...",{"value":128,"source":51,"evidence":129},"Python install and watchdog dependency are painful, especially on Mac.",[130,131],{"id":89,"by":90,"text":91},{"id":132,"by":133,"text":134},"7430308","tghw","Don't use easy_install. http:\u002F\u002Fstackoverflow.com\u002Fa\u002F3220572\u002F2363",{"value":136,"source":51,"evidence":137},"Includes from outside the site root won't work.",[138,142],{"id":139,"by":140,"text":141},"7429831","steve_barham","Not Invented Here syndrome, at all? Sure, I understand wanting to use Python for templates rather than relying on an external application. But why ignore the many, many existing…",{"id":62,"by":11,"text":63},[144,151,158],{"value":145,"source":51,"evidence":146},"Ruby port.",[147],{"id":148,"by":149,"text":150},"7430403","LouisSayers","I like it! Great concept, thanks for simplifying something that should be dead easy and simple. A ruby port would be nice.",{"value":152,"source":51,"evidence":153},"Better example showing conditionals.",[154],{"id":155,"by":156,"text":157},"7431219","rooodini","I actually found the “Highlight this” example at the top a bit confusing. Could you write “Display this” instead? Or give a better example to demonstrate conditionals?",{"value":159,"source":51,"evidence":160},"Drop the watchdog dependency or use Node.",[161,162],{"id":89,"by":90,"text":91},{"id":163,"by":164,"text":165},"7432257","xixixao","Which is why this should have been written in Node. Seriously, Python\u002FRuby environments+package managers are the abomination of programmer's time.",[167,172],{"value":168,"source":51,"evidence":169},"Why build another static site generator?",[170,171],{"id":117,"by":118,"text":119},{"id":103,"by":90,"text":104},{"value":173,"source":51,"evidence":174},"Why not use an existing template library like Jinja2?",[175,179],{"id":176,"by":177,"text":178},"7431055","irahul","> I will most likely soon build my own static site generator, because none of the ones out there do exactly what I want. Why bother with the templating? Use Jinja2?",{"id":139,"by":140,"text":141},[181,185,192,200],{"value":182,"source":51,"evidence":183},"Jekyll",[184],{"id":103,"by":90,"text":104},{"value":186,"source":51,"evidence":187},"Metalsmith",[188],{"id":189,"by":190,"text":191},"7431649","ianstormtaylor","Had the same problem ourselves while building Segment.io that every static site generator was a bit too opinionated in weird ways, so we made Metalsmith[0]. Check it out, and you…",{"value":193,"source":51,"evidence":194},"Server side includes",[195,196],{"id":124,"by":125,"text":126},{"id":197,"by":198,"text":199},"7432077","TheZenPsycho","or you could just, 'y'know, run SSI. what web server doesn't have SSI? What problem are we actually solving here?",{"value":201,"source":51,"evidence":202},"PHP includes",[203,207],{"id":204,"by":205,"text":206},"7431447","laurent123456","I've been using PHP to generate static HTML pages. It's usually as simple as `php somepage.php > somepage.html` and you have all the advantages of a full featured language.",{"id":208,"by":209,"text":210},"7429610","newaccountfool","What's the reason for this? Why don't you just build the website using standard HTML? Genuine question.",{"comments":39,"answered":43,"key":212},[213,214],{"id":62,"text":63},{"id":68,"text":69},{"commenters":216,"max_depth":31,"maker_replies":39,"first_comment_mins":217,"lifespan_hours":34},44,27,[219,221,225,228,231,233,234,236,239,241,244,246,248,249,253,257,259,262,266,269,272,275,278,281,284,285,288,290,292,294,296,299,300,302,303,305,307,309,310,312,316,318,321,323,325,326,329,331,332,333,336,339,341,343,345,347,349,352,354,356,358,359,362,364,367,372,375,378,380,383,385,386,388,390,392,395],[117,32,43,220,118,32],"project\u002Fcritical\u002Fidea",[222,32,32,223,224,32],"7429890","commenter\u002Fneutral\u002Fnone","jedberg",[226,32,32,223,227,32],"7430608","sillysaurus3",[229,32,32,223,230,32],"7431169","mjcohen",[232,32,32,223,227,32],"7431201",[176,32,32,223,177,32],[235,32,32,223,224,32],"7431826",[237,32,32,223,238,32],"7431855","yeukhon",[189,32,32,240,190,32],"other\u002Fneutral\u002Fidea",[242,32,32,243,164,32],"7432238","other\u002Fneutral\u002Fnone",[99,32,45,245,100,32],"project\u002Fpositive\u002Fidea",[103,32,45,247,90,32],"project\u002Fpositive\u002Fdesign",[124,43,43,220,125,32],[250,43,46,251,252,32],"7429805","project\u002Fneutral\u002Fidea","icebraining",[254,43,46,255,256,32],"7430100","project\u002Fneutral\u002Fnone","mehulkar",[258,43,43,220,198,32],"7432097",[260,43,43,220,261,32],"7432141","TazeTSchnitzel",[263,43,46,264,265,32],"7429808","project\u002Fneutral\u002Fperformance","oneeyedpigeon",[267,43,43,220,268,32],"7429963","mantrax2",[270,43,32,271,265,32],"7430016","commenter\u002Fneutral\u002Fperformance",[273,43,32,274,198,32],"7432084","commenter\u002Fcritical\u002Fidea",[276,43,32,223,277,32],"7430450","nawitus",[279,43,32,243,280,32],"7430642","ollysb",[282,43,32,274,283,32],"7431177","eevee",[197,43,32,274,198,32],[286,43,32,223,287,32],"7432087","YuriNiyazov",[289,43,32,223,198,32],"7432114",[291,43,32,223,283,32],"7437792",[293,43,32,223,198,32],"7438623",[295,43,32,223,283,32],"7439660",[297,43,43,298,198,32],"7432048","project\u002Fcritical\u002Fperformance",[139,39,43,220,140,32],[62,39,32,301,11,43],"maker\u002Fneutral\u002Fnone",[204,46,46,251,205,32],[132,304,46,301,133,32],4,[306,304,32,243,227,32],"7430548",[308,304,32,243,238,32],"7430922",[68,304,32,301,11,43],[311,304,32,223,238,32],"7430909",[313,304,32,314,315,32],"7431522","commenter\u002Fcritical\u002Fnone","sdegutis",[317,304,46,301,133,32],"7431633",[319,45,46,251,320,32],"7429709","moondev",[322,45,32,223,72,32],"7431065",[324,45,32,223,320,32],"7431382",[71,45,32,223,72,32],[327,45,32,243,328,32],"7432000","krapp",[330,45,32,243,320,32],"7434144",[208,37,46,251,209,32],[54,37,46,251,55,32],[334,37,46,251,335,32],"7429662","eudox",[337,37,45,245,338,32],"7429674","CJefferson",[340,37,32,223,209,32],"7429692",[342,37,32,223,59,32],"7429706",[344,37,32,223,118,32],"7429777",[346,37,32,223,59,32],"7429908",[348,37,32,223,252,32],"7429786",[350,37,32,223,351,32],"7430430","cowsandmilk",[353,37,32,223,252,32],"7430603",[355,37,32,223,265,32],"7429983",[357,37,32,223,209,32],"7432122",[58,37,45,245,59,32],[360,37,32,223,361,32],"7431968","pbhjpbhj",[106,363,45,245,107,32],7,[365,31,46,255,366,32],"7431607","epsylon",[368,369,43,370,371,32],"7429721",9,"project\u002Fcritical\u002Fexecution","Kiro",[373,369,46,374,252,32],"7429848","project\u002Fneutral\u002Fexecution",[376,369,46,264,377,32],"7430033","keithpeter",[379,369,43,298,252,32],"7430341",[381,369,32,223,382,32],"7430709","iagooar",[89,384,43,370,90,32],10,[163,384,32,223,164,32],[387,384,32,223,90,32],"7434041",[155,33,43,389,156,32],"project\u002Fcritical\u002Fdocs",[148,391,45,245,149,32],12,[393,18,45,245,394,32],"7432389","dolphenstein",[110,396,45,247,90,32],14,[],[399,404,409,414,418,422],{"id":400,"name":401,"points":402,"category":403},"7421652","mithril",304,"languages",{"id":405,"name":406,"points":407,"category":408},"7392320","My Desk Chair",203,"other",{"id":410,"name":411,"points":412,"category":413},"7432448","Logarithmic Flappy 2048",135,"games",{"id":415,"name":416,"points":417,"category":413},"7416664","Coder's Bracket",100,{"id":419,"name":420,"points":421,"category":403},"7416907","Soundslice v2",82,{"id":423,"name":424,"points":425,"category":426},"7405891","Surfer",80,"web_saas",false,"v2",{"id":430,"name":5,"line":6,"ai":427,"cat":20,"year":13,"points":14,"comments":15,"rec":28,"s":29,"top":18,"kw":431,"maker":11,"domain":10,"tier":19,"attempts":32,"strip":432,"url":9,"mix":433,"praise":96,"objection":114,"sub":21},7429371,[21,24,25,26,27],"1000053311000000133003300350000055111035",[31,18,32,33],1793990903877]