[{"data":1,"prerenderedAt":412},["ShallowReactive",2],{"project-42244987":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":83,"maker_in_thread":189,"shape":202,"grid":206,"attempts":373,"same_week":374,"maker_shows":262,"maker_hidden":404,"reader_version":405,"card":406},"42244987","jekyll-sqlite","SQLite Plugin for Jekyll","title","Show HN: SQLite Plugin for Jekyll","https:\u002F\u002Fgithub.com\u002Fcaptn3m0\u002Fjekyll-sqlite","github.com","captn3m0",1732623091,2024,227,65,333,3515,10,"notable","infrastructure","static site generator plugin","library",[24,25,26,27],"jekyll","sqlite","static site generator","baked data","mixed",0.401,{"positive":31,"neutral":32,"mixed":33,"critical":34},15,7,0,5,27,{"idea":37,"execution":39},{"positive":18,"critical":38},3,{"positive":33,"critical":40},2,[33,34,33,34,34,38,33,33,34,33,34,42,34,42,42,34,38,33,38,38,34,34,34,33,33,33,33,33,38,33,38,33,34,34,33,34,42,42,33,33],1,"I love Jekyll, especially the Datafiles[0] feature, which lets you use CSV\u002FJSON\u002FYAML files and iterate through them. Mixed with the Jekyll Data Pages generator[1], which lets you create a page for every row in your dataset, it is a very powerful combination.\n\nHowever, Liquid is a terrible language for data-mangling, and simple filtering\u002Fsorting\u002Fmerging can become very annoying. So I wrote a Jekyll SQLite plugin that lets you use the same data interface in Jekyll\u002FLiquid, but backed by a SQLite file(s).\n\nIt gives you the simplicity of the Baked Data pattern[2], and the flexibility of using SQL f",{"problem":45,"audience":51,"pricing":60,"motivation":61,"time_to_build":60,"stack":65,"openness":81,"stage":82,"team_size":81},{"value":46,"source":47,"evidence":48},"Liquid is poor for filtering, sorting and merging data; SQL is easier","maker",[49],{"id":50},"post",{"value":52,"source":53,"evidence":54},"Jekyll site builders with structured data","inferred",[55,56],{"id":50},{"id":57,"by":58,"text":59},"42246199","zephyreon","I’ve always been a big fan of Jekyll because it’s so easy to use & so stable. This adds a lot of value to the ecosystem. I’ve built a bunch of faculty websites over the years…",null,{"value":62,"source":47,"evidence":63},"Make Jekyll data handling simpler with SQL instead of Liquid",[64],{"id":50},[66,73,77],{"value":67,"source":53,"evidence":68},"Ruby",[69],{"id":70,"by":71,"text":72},"42246816","giancarlostoro","In wake of all the WP craziness a few weeks back, I wonder how long before someone builds a \"best of both worlds\" CMS to rival WordPress. \"You get the nice admin UI, but it…",{"value":74,"source":47,"evidence":75},"SQLite",[76],{"id":50},{"value":78,"source":47,"evidence":79},"Liquid",[80],{"id":50},"unknown","launched",{"praise":84,"objections":106,"requests":125,"questions":147,"alternatives":157},[85,94],{"value":86,"source":87,"evidence":88},"Jekyll is stable and easy to use","commenter",[89,93],{"id":90,"by":91,"text":92},"42246186","jordanmorgan10","I have nothing to add other than Jekyll has been rock solid for me for, what, like a decade plus now? I've ran swiftjectivec.com on it, and it's always been the perfect middle…",{"id":57,"by":58,"text":59},{"value":95,"source":87,"evidence":96},"Useful for structured data sites",[97,98,102],{"id":57,"by":58,"text":59},{"id":99,"by":100,"text":101},"42250427","chmaynard","This is welcome news! I already use spreadsheets and SQLite as part of my Jekyll workflow. I import spreadsheet data into SQLite, create some additional tables, and export them…",{"id":103,"by":104,"text":105},"42246811","yboulkaid","Nice to see this project here! I've been using it with the Steam API to publish a list of the games I've been playing on my personal website: https:\u002F\u002Fyboulkaid.com\u002Fgames I found…",[107,118],{"value":108,"source":87,"evidence":109},"Generating pages per row is not really baked data",[110,114],{"id":111,"by":112,"text":113},"42247105","raminf","I'm a little confused. The baked-data model is so you DON'T have to generate a thousand static pages. But this solution does exactly that. Not complaining, mind you. My kid is…",{"id":115,"by":116,"text":117},"42249632","groby_b","But it's still not baked data, no? The whole point of baked data is that you don't generate static pages for every item in the data set. Mind you, it's great to have a Jekyll…",{"value":119,"source":87,"evidence":120},"Unclear what the plugin does at build time",[121],{"id":122,"by":123,"text":124},"42250501","audiodude","I have an understanding of static site generators, I've used several of them and even written my own. But I simply don't understand what this is or what it's doing. You're using…",[126,137],{"value":127,"source":87,"evidence":128},"Hugo equivalent",[129,133],{"id":130,"by":131,"text":132},"42247687","anticorporate","This is awesome, and would solve an actual problem I've been thinking through... if only I had selected Jekyll for my static site generator. Does anyone know of a similar…",{"id":134,"by":135,"text":136},"42248831","Imustaskforhelp","I wish if there was some hugo alternative to it , I guess I am going to go into the weeds of this project to replicate it in golang",{"value":138,"source":87,"evidence":139},"Full-text search via SQLite FTS in the browser",[140,144],{"id":141,"by":142,"text":143},"42247996","nikeee","Is it possible to generate an SQLite DB from the site data and statically serve it, so sql.js can use it as a DB to provide something like search?",{"id":145,"by":11,"text":146},"42248409","I'm mostly focusing on sqlite-as-the-data-source, but I can imagine something like this might be in scope for a project like lunr.js[1], which currently uses a large index served…",[148,153],{"value":149,"source":87,"evidence":150},"Is this really baked data",[151,152],{"id":111,"by":112,"text":113},{"id":115,"by":116,"text":117},{"value":154,"source":87,"evidence":155},"Can SQLite be queried at serve time",[156],{"id":122,"by":123,"text":124},[158,164,171,178],{"value":159,"source":87,"evidence":160},"Gatsby with GraphQL",[161],{"id":162,"by":123,"text":163},"42250846","Right, looking again I understand better. Instead of a bunch of shaky YAML in a md file, you have properly structured data. Isn't this what Gatsby tries to do with GraphQL?",{"value":165,"source":87,"evidence":166},"Evidence with DuckDB",[167],{"id":168,"by":169,"text":170},"42247433","amcaskill","We use a similar “baked data” approach with Duck DB + a static site generator in evidence https:\u002F\u002Fgithub.com\u002Fevidence-dev\u002Fevidence",{"value":172,"source":87,"evidence":173},"SQLPage",[174],{"id":175,"by":176,"text":177},"42249789","lovasoa","This is a cool approach to integrating SQL with static site generation! If you're into SQL-powered tooling, you might find something like https:\u002F\u002Fsql-page.com interesting as a…",{"value":179,"source":87,"evidence":180},"Decap CMS and Tina CMS",[181,185],{"id":182,"by":183,"text":184},"42257289","WorldMaker","Decap CMS: https:\u002F\u002Fdecapcms.org\u002F",{"id":186,"by":187,"text":188},"42246928","anamexis","TinaCMS, fka Forestry is trying to do this. It's been a while since I've tried them out, but I love the idea. https:\u002F\u002Ftina.io\u002F",{"comments":190,"answered":191,"key":192},11,4,[193,196,199],{"id":194,"text":195},"42248337","The other last-modified-plugin is now archived, and no longer included in the default Jekyll, but the sitemap and seo plugin still seem to rely on the page.last_modified_at…",{"id":197,"text":198},"42253096","When I started this project, I seriously consider building it for Hugo, but the plugin system actively disallows such things, there’s no scope for dynamic plugins like these.",{"id":200,"text":201},"42247545","This is quite interesting. I always wanted to build something similar using SteamPipe (which can pretend to be sqlite\u002Fpostgres) alongside Querybook. THe craziest production with…",{"commenters":203,"max_depth":191,"maker_replies":190,"first_comment_mins":204,"lifespan_hours":205},47,115,30,[207,211,213,217,221,223,224,226,228,231,235,238,241,243,246,247,248,250,253,258,261,263,264,267,268,271,273,275,277,280,283,284,286,288,292,295,299,303,305,308,309,312,315,317,320,321,323,324,327,329,332,334,336,340,342,344,346,349,351,355,358,361,364,368,371],[208,33,33,209,210,33],"42247942","other\u002Fpositive\u002Fnone","klandergren",[194,33,33,212,11,42],"commenter\u002Fneutral\u002Fnone",[214,33,34,215,216,33],"42255601","maker\u002Fpositive\u002Fnone","philipwhiuk",[218,33,33,219,220,33],"42253077","commenter\u002Fpositive\u002Fnone","gjtorikian",[57,42,34,222,58,33],"project\u002Fpositive\u002Fidea",[130,40,34,222,131,33],[225,40,34,222,135,33],"42248861",[197,40,33,227,11,42],"project\u002Fneutral\u002Fnone",[229,40,38,227,230,33],"42258124","8organicbits",[232,38,33,233,234,33],"42245859","other\u002Fneutral\u002Fnone","Alifatisk",[236,38,33,233,237,33],"42246041","jayknight",[239,38,33,212,240,33],"42246195","berkes",[242,38,33,212,234,33],"42257460",[244,191,34,222,245,33],"42255914","mehdix",[168,34,33,233,169,33],[200,34,33,233,11,42],[175,249,34,222,176,33],6,[251,32,33,233,252,33],"42250213","mkasberg",[254,255,42,256,257,33],"42250772",8,"project\u002Fcritical\u002Fidea","ozim",[259,255,33,260,11,42],"42253114","project\u002Fpositive\u002Fnone",[103,262,34,222,104,33],9,[111,18,42,256,112,33],[265,18,33,266,11,42],"42247494","project\u002Fneutral\u002Fidea",[115,18,42,256,116,33],[269,190,34,222,270,33],"42247769","tonymet",[272,190,33,233,11,42],"42253086",[122,274,38,227,123,33],12,[276,274,33,233,123,33],"42250504",[278,274,33,233,279,33],"42257467","JoelMcCracken",[281,274,38,266,282,33],"42250710","victorbjorklund",[162,274,38,266,123,33],[285,274,33,212,282,33],"42256303",[99,287,34,222,100,33],13,[289,290,34,222,291,33],"42247754",14,"sangeeth96",[293,31,34,222,294,33],"42249190","jelled",[296,297,38,266,298,33],"42246805",16,"hk1337",[300,301,34,260,302,33],"42247106",17,"tajd",[70,304,33,233,71,33],18,[306,304,33,233,307,33],"42246921","sofixa",[186,304,33,233,187,33],[310,304,33,233,311,33],"42247584","abhiyerra",[313,304,33,233,314,33],"42250013","hombre_fatal",[316,304,33,233,240,33],"42254321",[318,304,33,233,319,33],"42250597","Lammy",[182,304,33,233,183,33],[141,322,38,266,142,33],19,[145,322,33,266,11,42],[325,322,33,233,326,33],"42250452","ThatPlayer",[134,328,38,227,135,33],20,[330,328,33,233,331,33],"42249516","arp242",[333,328,33,233,11,42],"42253078",[335,328,33,212,331,33],"42255321",[337,338,34,260,339,33],"42245939",21,"midzer",[341,338,33,219,11,42],"42246257",[90,343,34,260,91,33],22,[345,343,33,233,11,42],"42246285",[347,343,34,215,348,33],"42247503","freedomben",[350,343,33,219,11,42],"42247554",[352,343,42,353,354,33],"42247491","project\u002Fcritical\u002Fexecution","bbkane",[356,343,33,233,357,33],"42247842","Tomte",[359,343,42,353,360,33],"42247547","rapnie",[362,343,33,212,363,33],"42247813","diggan",[365,366,33,233,367,33],"42246212",23,"cannibalXxx",[369,366,33,233,370,33],"42246328","charles_f",[372,366,33,233,112,33],"42247042",[],[375,380,385,390,395,400],{"id":376,"name":377,"points":378,"category":379},"42254156","Intenty",817,"productivity",{"id":381,"name":382,"points":383,"category":384},"42212644","5 Million Devs",616,"games",{"id":386,"name":387,"points":388,"category":389},"42208383","llama3_interpretability_sae",579,"ai",{"id":391,"name":392,"points":393,"category":394},"42256104","TeaTime",307,"learning_science",{"id":396,"name":397,"points":398,"category":399},"42258540","Feels Like Paper",265,"creative",{"id":401,"name":402,"points":403,"category":384},"42212071","Rebels in the sky",242,false,"v2",{"id":407,"name":5,"line":6,"ai":404,"cat":20,"year":13,"points":14,"comments":15,"rec":28,"s":408,"top":18,"kw":409,"maker":11,"domain":10,"tier":19,"attempts":33,"strip":410,"url":9,"mix":411,"praise":86,"objection":108,"sub":21},42244987,0.4,[24,25,26,27],"0505530050515115303355500000303055051100",[31,32,33,34],1793991105922]