[{"data":1,"prerenderedAt":485},["ShallowReactive",2],{"project-10924533":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":29,"sentiment":30,"stance_mix":31,"scored_comments":35,"aspects":36,"strip":45,"post_text":48,"what":49,"said":78,"maker_in_thread":192,"shape":202,"grid":207,"attempts":446,"same_week":447,"maker_shows":47,"maker_hidden":477,"reader_version":478,"card":479},"10924533","CMS.js","Fully Client-Side JavaScript Site Generator","title","Show HN: CMS.js – Fully Client-Side JavaScript Site Generator","http:\u002F\u002Fcdmedia.github.io\u002Fcms.js\u002F","cdmedia.github.io","inflam52",1453127211,2016,117,94,306,2264,14,"notable","web_saas","static site generator","web_app",[24,25,26,27,28],"javascript","client-side rendering","markdown","github pages","site generator","roasted",-0.463,{"positive":32,"neutral":18,"mixed":33,"critical":34},3,1,20,38,{"idea":37,"execution":39,"performance":41,"design":43,"docs":44},{"positive":33,"critical":38},9,{"positive":40,"critical":32},0,{"positive":33,"critical":42},4,{"positive":40,"critical":33},{"positive":40,"critical":40},[33,40,33,40,40,40,40,33,33,40,40,33,40,40,40,40,40,33,32,33,33,40,32,33,46,47,33,32,32,33,32,33,40,33,40,40,33,46,32,32],5,2,null,{"problem":50,"audience":48,"pricing":48,"motivation":48,"time_to_build":48,"stack":60,"openness":75,"stage":76,"team_size":77},{"value":51,"source":52,"evidence":53},"Publishing a simple site or blog with client-side JavaScript rendering of markdown content","inferred",[54,56],{"id":55},"post",{"id":57,"by":58,"text":59},"10931921","asimjalis","Here is why I like this: It makes publishing to the web trivial.",[61,68],{"value":62,"source":63,"evidence":64},"JavaScript","commenter",[65],{"id":66,"by":11,"text":67},"10931470","Thanks for pointing this out. Going to be adding a polyfill for that!",{"value":69,"source":70,"evidence":71},"GitHub Pages","maker",[72],{"id":73,"by":11,"text":74},"10932015","Also make sure you are on editing the config.js gh-pages branch as this is the branch Github uses for hosting. If you want to use the code you have on master, just merge master…","open_source","beta","unknown",{"praise":79,"objections":91,"requests":148,"questions":157,"alternatives":166},[80,84],{"value":81,"source":63,"evidence":82},"Publishing to the web is made trivial",[83],{"id":57,"by":58,"text":59},{"value":85,"source":63,"evidence":86},"Interesting idea for human-only readable sites",[87],{"id":88,"by":89,"text":90},"10929126","ommunist","I guess this technology is promising in a way that it delivers websites to be read by humans only, not the bots. I fail to recognise the practical use of it unless building the…",[92,107,115,130,141],{"value":93,"source":63,"evidence":94},"Client-side rendering breaks static sites and accessibility",[95,99,103],{"id":96,"by":97,"text":98},"10928851","userbinator","I know there seem to be two rather large groups on HN, one for proliferation of JS and one against, but at the very least if someone from the latter visits your site, please show…",{"id":100,"by":101,"text":102},"10930663","mikegerwitz","I don't want to discourage you, but I also don't want to encourage the proliferation of websites (web apps---as an alternative to actual desktop software---excluded) that require…",{"id":104,"by":105,"text":106},"10929986","pwg","> > an entirely blank page > That's only true if you use 'view source'. If you open up > dev tools, all of the elements are rendered in full and > live updated as they change. If…",{"value":108,"source":63,"evidence":109},"Blank page without JavaScript",[110,111],{"id":104,"by":105,"text":106},{"id":112,"by":113,"text":114},"10930464","tobr","Even with js turned on, I get a mostly blank page. It chokes on String.prototype.endsWith, which is an ES6 feature not supported by my very-slightly-out-of-date version of…",{"value":116,"source":63,"evidence":117},"Name is misleading, not a CMS",[118,122,126],{"id":119,"by":120,"text":121},"10929453","weisk","Well how is this intended to be 'content manage'd? Through pr's on github? I think CMS is a poor choice for a name, when there is no interface to 'build' the site's pages. I'd…",{"id":123,"by":124,"text":125},"10931171","sasindu","Both the name and description are completely misleading. They suggest that this app is a web UI for managing content and doing what Jekyll does from CLI. But this really is a SPA…",{"id":127,"by":128,"text":129},"10929679","faebser","Although this is a cute little project, isn't the name rather misleading? Instead of a generator isn't this actually a markdown to HTML renderer?",{"value":131,"source":63,"evidence":132},"Poor SEO for client-rendered content",[133,137],{"id":134,"by":135,"text":136},"10928666","tuananh","does it affect site's SEO?",{"id":138,"by":139,"text":140},"10928764","ivan_ah","Good question. My guess is it will be OK for the text, but links will be out of whack so bots won't really \"crawl\" the site. Then again, maybe advanced bots will run the js?…",{"value":142,"source":63,"evidence":143},"Slow initial load compared to static HTML",[144],{"id":145,"by":146,"text":147},"10929309","voidr","Caching cannot help you with initial page loads, which is probably important when you have a content focused sites. Rendering the content via JavaScript is slower than just…",[149,153],{"value":150,"source":63,"evidence":151},"Add a polyfill for ES6 features",[152],{"id":112,"by":113,"text":114},{"value":154,"source":63,"evidence":155},"Provide fallbacks for no-JavaScript browsers",[156],{"id":100,"by":101,"text":102},[158,162],{"value":159,"source":63,"evidence":160},"Does it affect SEO?",[161],{"id":134,"by":135,"text":136},{"value":163,"source":63,"evidence":164},"How is content managed, via GitHub pull requests?",[165],{"id":119,"by":120,"text":121},[167,178,185],{"value":168,"source":63,"evidence":169},"Jekyll",[170,174],{"id":171,"by":172,"text":173},"10928988","sotojuan","Good work, but why is client-side JS needed for a simple blog? I thought it was going to be like Jekyll but Node instead of Ruby (so no JS client-side).",{"id":175,"by":176,"text":177},"10929857","teen","I think this project is cool but it's all of the problems of dynamic sites with none of the benefits. It's like if you took the worst parts of Jekyll (having to redeploy to…",{"value":179,"source":63,"evidence":180},"TiddlyWiki",[181],{"id":182,"by":183,"text":184},"10929371","unicornporn","TiddlyWiki[1], which is a wiki more than a \"CMS\", has been doing something very close to this for quite some time. I used it for years, but eventually switched back to plain text…",{"value":186,"source":63,"evidence":187},"Classless Project",[188],{"id":189,"by":190,"text":191},"10927641","fiatjaf","Shameless self-promotion: For easy theming, I suggest you to take a look at the Classless Project, which will be super easy to integrate to in your case and will bring many…",{"comments":193,"answered":42,"key":194},11,[195,196,199],{"id":66,"text":67},{"id":197,"text":198},"10931489","Right, this is exactly why I'm avoiding using the word \"static\". I began by using that term but have strayed away from it for several reasons.",{"id":200,"text":201},"10931202","Thanks for all the feedback! Yeah, this is definitely next on the list of bugs to fix. I definitely respect your opinion. I really looking a way to accomplish this problem from a…",{"commenters":203,"max_depth":204,"maker_replies":193,"first_comment_mins":205,"lifespan_hours":206},57,6,511,95,[208,210,214,217,220,224,228,232,235,238,241,244,246,248,250,252,255,258,259,260,262,264,267,269,272,275,276,279,280,283,286,288,290,293,296,298,300,303,306,309,312,313,315,319,321,322,323,326,329,330,332,335,338,340,343,347,351,354,356,359,361,363,367,370,372,374,375,377,381,382,385,387,389,390,394,397,399,401,403,406,409,412,415,418,420,422,425,428,432,435,437,439,441,442],[96,40,33,209,97,40],"project\u002Fcritical\u002Fidea",[211,40,40,212,213,40],"10929034","commenter\u002Fneutral\u002Fnone","EvanPlaice",[215,40,40,212,216,40],"10929138","jaequery",[218,40,40,212,219,40],"10929211","NocturnalWaffle",[221,40,33,222,223,40],"10929627","project\u002Fcritical\u002Fexecution","greggman",[225,40,40,226,227,40],"10930880","other\u002Fneutral\u002Fnone","pauly",[229,40,40,230,231,40],"10929140","commenter\u002Fneutral\u002Fidea","yoz-y",[233,40,40,212,234,40],"10929154","lucaspiller",[236,40,40,212,237,40],"10929281","rimantas",[239,40,40,212,240,40],"10931142","nqzero",[242,40,40,212,243,40],"10931508","falcolas",[245,40,40,212,213,40],"10932838",[247,40,40,212,213,40],"10932648",[249,40,40,212,213,40],"10932592",[145,40,40,251,146,40],"commenter\u002Fneutral\u002Fperformance",[253,40,40,251,254,40],"10929361","ry_ry",[256,40,40,212,257,40],"10929785","matallo",[104,40,33,222,105,40],[112,40,33,222,113,40],[66,40,40,261,11,33],"maker\u002Fneutral\u002Fexecution",[197,40,40,263,11,33],"maker\u002Fneutral\u002Fidea",[265,40,40,230,266,40],"10930041","pluma",[268,40,40,212,213,40],"10933007",[270,40,40,230,271,40],"10931114","dham",[273,40,40,226,274,40],"10931059","S4M",[200,40,40,261,11,33],[277,40,40,212,278,40],"10931238","plexicle",[100,33,33,209,101,40],[281,33,40,212,282,40],"10930764","dyladan",[284,33,40,285,11,33],"10931301","project\u002Fneutral\u002Fidea",[287,33,40,212,101,40],"10932280",[289,33,40,212,282,40],"10932745",[291,33,40,212,292,40],"10930845","roblabla",[294,33,40,295,282,40],"10930866","commenter\u002Fneutral\u002Fprivacy",[297,33,40,212,240,40],"10931118",[299,33,40,212,282,40],"10931165",[301,33,40,212,302,40],"10931511","andrewstuart2",[304,33,40,212,305,40],"10930991","PavlovsCat",[307,33,40,212,308,40],"10931186","s986s",[310,33,40,311,11,33],"10930995","maker\u002Fneutral\u002Fnone",[119,47,33,209,120,40],[88,32,32,314,89,40],"project\u002Fmixed\u002Fidea",[316,32,32,317,318,40],"10929278","project\u002Fneutral\u002Fnone","thallian",[320,32,40,212,176,40],"10929841",[175,42,33,209,176,40],[171,46,32,285,172,40],[324,46,33,209,325,40],"10929090","manojlds",[327,46,40,226,328,40],"10930754","minhajuddin",[123,204,33,209,124,40],[189,331,40,226,190,40],7,[333,331,40,334,11,33],"10928242","maker\u002Fpositive\u002Fnone",[336,331,32,337,213,40],"10928946","project\u002Fneutral\u002Fexecution",[339,331,40,226,190,40],"10931441",[341,342,40,226,213,40],"10928975",8,[344,342,33,345,346,40],"10929705","project\u002Fcritical\u002Fperformance","afandian",[348,342,32,349,350,40],"10930056","project\u002Fneutral\u002Fperformance","kecks",[352,342,46,353,213,40],"10936682","maker\u002Fpositive\u002Fperformance",[355,342,32,349,278,40],"10931338",[357,342,32,358,213,40],"10933062","maker\u002Fneutral\u002Fperformance",[360,342,32,358,213,40],"10936657",[362,342,33,345,346,40],"10952633",[364,342,33,365,366,40],"10930267","project\u002Fcritical\u002Fdesign","opiotrek",[368,342,33,345,369,40],"10931786","jackmoore",[371,342,32,358,213,40],"10933211",[373,342,32,349,213,40],"10936697",[182,38,32,285,183,40],[376,38,40,334,11,33],"10931107",[378,379,40,226,380,40],"10931646",10,"programminggeek",[127,193,33,209,128,40],[383,193,33,209,384,40],"10929764","thenomad",[386,193,40,311,11,33],"10931280",[134,388,32,317,135,40],12,[138,388,32,317,139,40],[391,388,33,392,393,40],"10928971","project\u002Fcritical\u002Fnone","zwetan",[395,388,40,212,396,40],"10929179","wingerlang",[398,388,40,212,219,40],"10929215",[400,388,40,212,393,40],"10929994",[402,388,33,392,393,40],"10928959",[404,388,40,212,405,40],"10929157","onion2k",[407,388,40,212,408,40],"10929255","BHSPitMonkey",[410,388,40,212,411,40],"10929305","sergiotapia",[413,388,40,212,414,40],"10929339","ajdlinux",[416,388,40,212,417,40],"10929498","pki",[419,388,40,212,176,40],"10929847",[421,388,33,392,393,40],"10930066",[423,388,33,345,424,40],"10932163","level3",[57,426,46,427,58,40],13,"project\u002Fpositive\u002Fidea",[429,18,32,430,431,40],"10929919","project\u002Fneutral\u002Fdocs","danielovich",[433,18,40,434,11,33],"10931097","maker\u002Fneutral\u002Fdocs",[436,18,32,434,431,40],"10931512",[438,18,40,434,11,33],"10931693",[440,18,46,334,431,40],"10936724",[73,18,40,434,11,33],[443,444,33,209,445,40],"10930351",15,"shocks",[],[448,453,458,462,467,472],{"id":449,"name":450,"points":451,"category":452},"10930718","Nativefier",162,"dev_tools",{"id":454,"name":455,"points":456,"category":457},"10908987","OSwatch",150,"productivity",{"id":459,"name":460,"points":461,"category":20},"10938510","Chatlio",136,{"id":463,"name":464,"points":465,"category":466},"10915761","IPalyzer",123,"infrastructure",{"id":468,"name":469,"points":470,"category":471},"10941966","resdet",113,"learning_science",{"id":473,"name":474,"points":475,"category":476},"10919564","py14",96,"languages",false,"v2",{"id":480,"name":5,"line":6,"ai":477,"cat":20,"year":13,"points":14,"comments":15,"rec":29,"s":481,"top":18,"kw":482,"maker":11,"domain":10,"tier":19,"attempts":40,"strip":483,"url":9,"mix":484,"praise":81,"objection":93,"sub":21},10924533,-0.46,[24,25,26,27,28],"1010000110010000013110315213313101001533",[32,18,33,34],1793990936504]