[{"data":1,"prerenderedAt":313},["ShallowReactive",2],{"project-5388857":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":35,"aspects":36,"strip":41,"post_text":43,"what":44,"said":65,"maker_in_thread":150,"shape":158,"grid":162,"attempts":277,"same_week":278,"maker_shows":213,"maker_hidden":306,"reader_version":307,"card":308},"5388857","Benjen","Super simple static blog generator, Benjen","title","Show HN: Super simple static blog generator, Benjen","http:\u002F\u002Fdaeken.com\u002F2013-03-17_Benjen_v1.html","daeken.com","daeken",1363519709,2013,90,45,263,1739,16,"notable","dev_tools","static site generator","cli",[24,25,26,27],"static blog generator","markdown","static site","html","curious",-0.08,{"positive":31,"neutral":32,"mixed":33,"critical":34},2,8,1,3,14,{"execution":37,"idea":38,"design":40},{"positive":33,"critical":31},{"positive":33,"critical":39},0,{"positive":39,"critical":33},[39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,42,33,39,39,39,39,39,34,34,39,42,33,39,34,34,34,34,39,39,34,39,39,39,39,33],5,null,{"problem":45,"audience":43,"pricing":43,"motivation":43,"time_to_build":43,"stack":55,"openness":64,"stage":64,"team_size":64},{"value":46,"source":47,"evidence":48},"Publishing a blog without a dynamic server, database or CMS.","maker",[49,52],{"id":50,"by":11,"text":51},"5388902","Rather than a web app that runs and serves up content dynamically, this just spits out HTML that your webserver can serve up. No additional surface area for attack, no need for…",{"id":53,"by":11,"text":54},"5388931","Nope, no DB at all. The way you edit the content is 100% up to you, but at the end of the day, your entries are just Markdown files in a directory. You can see my whole blog…",[56],{"value":57,"source":58,"evidence":59},"Python","commenter",[60],{"id":61,"by":62,"text":63},"5389083","gbog","Seems nice but at first sight the code needs a bit more checks. There is a rmtree on a config parameter that could delete all your content if the tool is misconfigured.","unknown",{"praise":66,"objections":74,"requests":79,"questions":98,"alternatives":113},[67],{"value":68,"source":58,"evidence":69},"Elegant, single-purpose design",[70],{"id":71,"by":72,"text":73},"5389176","cerales","I love seeing the source for such elegant single-purpose projects like this. I'm in the middle of writing my own static site generator for Python; it's a bit more feature-rich,…",[75],{"value":76,"source":58,"evidence":77},"Rmtree on a config parameter could delete all content if misconfigured",[78],{"id":61,"by":62,"text":63},[80,87],{"value":81,"source":58,"evidence":82},"Add an RSS or Atom feed",[83],{"id":84,"by":85,"text":86},"5390272","graue","Cool. Any plans to add an RSS feed? Your blog is really interesting, so I'd like to subscribe, but I probably won't remember to come back and check it manually.",{"value":88,"source":58,"evidence":89},"Use dashes and lowercase in URLs",[90,94],{"id":91,"by":92,"text":93},"5390689","JimWestergren","I recommend you to change the URLs: use dash to seperate words and all lowercase.",{"id":95,"by":96,"text":97},"5389062","antidaily","Very cool. URLs are a little funky (underscores).",[99,106],{"value":100,"source":58,"evidence":101},"How to handle short URLs without a database",[102],{"id":103,"by":104,"text":105},"5388962","kmfrk","Yup. The only problem is with using shorturls (since there no DB object ID to map to).",{"value":107,"source":58,"evidence":108},"How dynamic content is handled on static sites",[109],{"id":110,"by":111,"text":112},"5388980","inovica","I like the idea of generating as many of our site pages as 'static' as we can. We created our own system for our needs but I am seeing a lot more of this as I look around. What…",[114,125,132,139,143],{"value":115,"source":58,"evidence":116},"Jekyll",[117,121],{"id":118,"by":119,"text":120},"5389379","aprescott","It maybe isn't simple enough for Joe Blow to use (yet?), but I started working on Serif[1] specifically to get away from having to manage the filesystem, without losing the…",{"id":122,"by":123,"text":124},"5389092","chewxy","Oh I mean it as a way to know how the language works. EDIT for more information: Being able to write a static blog generator means you have to learn most of the basic skills in a…",{"value":126,"source":58,"evidence":127},"Pelican",[128],{"id":129,"by":130,"text":131},"5389065","progrock","I think the main itch being scratched here, is the problem of templating. Those that grok file systems, might be happy assembling content into an appropriate folder structure,…",{"value":133,"source":58,"evidence":134},"Octopress and nanoc",[135],{"id":136,"by":137,"text":138},"5388987","forlorn","These days most people prefer spend some time to create thier own static blog generators than use popular products like octopress or nanoc. And that's great.",{"value":140,"source":58,"evidence":141},"Serif",[142],{"id":118,"by":119,"text":120},{"value":144,"source":58,"evidence":145},"Wakefile",[146],{"id":147,"by":148,"text":149},"5389229","srgpqt","Since we're talking about minimalistic static site generators, here's the one I wrote a while back: http:\u002F\u002Fsrgpqt.github.com\u002FWakefile\u002F It's a 74 line Makefile (or 174 with…",{"comments":151,"answered":31,"key":152},4,[153,156,157],{"id":154,"text":155},"5389106","I thought about mitigating that, as it could definitely have some nasty effects, but couldn't come up with a decent way to do so. Hopefully, people won't misconfigure it too often!",{"id":50,"text":51},{"id":53,"text":54},{"commenters":159,"max_depth":160,"maker_replies":151,"first_comment_mins":18,"lifespan_hours":161},33,7,46,[163,167,170,172,174,178,181,183,185,188,189,191,194,197,198,201,203,205,208,210,212,214,217,218,222,227,229,231,232,236,237,239,243,246,248,250,253,256,259,261,264,266,270,272,275],[164,39,39,165,166,39],"5389144","commenter\u002Fneutral\u002Fnone","StavrosK",[168,39,39,165,169,39],"5391842","positr0n",[171,39,39,165,166,39],"5391852",[129,33,39,173,130,39],"other\u002Fneutral\u002Fidea",[175,33,39,176,177,39],"5389080","other\u002Fneutral\u002Fnone","daigoba66",[179,33,39,176,180,39],"5391378","krapp",[118,33,39,182,119,39],"commenter\u002Fneutral\u002Fidea",[184,31,39,173,123,39],"5388973",[186,31,39,176,187,39],"5389011","qznc",[122,31,39,165,123,39],[190,31,39,165,180,39],"5390740",[192,31,39,173,193,39],"5389321","asb",[195,31,39,173,196,39],"5391306","barristan",[110,34,39,176,111,39],[199,34,39,176,200,39],"5389014","dugmartin",[202,34,39,176,111,39],"5389029",[71,151,42,204,72,39],"project\u002Fpositive\u002Fexecution",[206,151,39,176,207,39],"5389527","keithpeter",[61,42,33,209,62,39],"project\u002Fcritical\u002Fexecution",[154,42,39,211,11,33],"maker\u002Fneutral\u002Fexecution",[147,213,39,176,148,39],6,[215,160,39,176,216,39],"5389102","jimktrains2",[136,32,39,176,137,39],[219,220,39,176,221,39],"5390244",9,"marban",[223,224,34,225,226,39],"5388894",10,"project\u002Fneutral\u002Fidea","stef25",[50,224,39,228,11,33],"maker\u002Fneutral\u002Fidea",[230,224,34,225,226,39],"5388925",[53,224,39,228,11,33],[233,224,42,234,235,39],"5399789","maker\u002Fpositive\u002Fidea","danjessen",[103,224,33,209,104,39],[238,224,39,211,11,33],"5388971",[240,224,34,241,242,39],"5388994","project\u002Fneutral\u002Fexecution","kzar",[244,224,34,241,245,39],"5388990","grey-area",[247,224,34,241,104,39],"5389028",[249,224,34,241,245,39],"5389053",[251,224,34,241,252,39],"5388988","the1",[254,224,39,176,255,39],"5389068","Vivtek",[257,224,39,173,258,39],"5388909","charliepark",[84,260,34,225,85,39],11,[262,260,39,173,263,39],"5390643","zeckalpha",[265,260,39,165,85,39],"5391675",[267,268,39,176,269,39],"5389056",12,"brunorsini",[271,268,39,176,235,39],"5399777",[91,273,33,274,92,39],13,"project\u002Fcritical\u002Fdesign",[95,35,34,276,96,39],"project\u002Fmixed\u002Fdesign",[],[279,284,288,292,297,302],{"id":280,"name":281,"points":282,"category":283},"5395463","XKCD-inspired StackSort",948,"languages",{"id":285,"name":286,"points":287,"category":20},"5380056","Intro.js",716,{"id":289,"name":290,"points":291,"category":20},"5407499","Webflow",503,{"id":293,"name":294,"points":295,"category":296},"5372183","CupidWithFriends",200,"web_saas",{"id":298,"name":299,"points":300,"category":301},"5377130","Replace Reader",175,"productivity",{"id":303,"name":304,"points":305,"category":20},"5386713","Advanced Namespace Tools (ANTS)",131,false,"v2",{"id":309,"name":5,"line":6,"ai":306,"cat":20,"year":13,"points":14,"comments":15,"rec":28,"s":29,"top":18,"kw":310,"maker":11,"domain":10,"tier":19,"attempts":39,"strip":311,"url":9,"mix":312,"praise":68,"objection":76,"sub":21},5388857,[24,25,26,27],"0000000000000005100000330510333300300001",[31,32,33,34],1793990892163]