[{"data":1,"prerenderedAt":501},["ShallowReactive",2],{"project-47505144":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":45,"post_text":49,"what":50,"said":89,"maker_in_thread":164,"shape":175,"grid":179,"attempts":465,"same_week":466,"maker_shows":18,"maker_hidden":493,"reader_version":494,"card":495},"47505144","Email.md","Markdown to responsive, email-safe HTML","title","Show HN: Email.md – Markdown to responsive, email-safe HTML","https:\u002F\u002Fwww.emailmd.dev\u002F","emailmd.dev","dancablam",1774369560,2026,380,94,99,4366,3,"legend","productivity","email authoring","library",[24,25,26,27],"markdown email","mjml","responsive email html","email templates","debated",-0.032,{"positive":31,"neutral":32,"mixed":33,"critical":31},12,21,0,45,{"idea":36,"docs":39,"execution":41,"privacy":42,"design":43,"performance":44},{"positive":37,"critical":38},6,10,{"positive":40,"critical":33},1,{"positive":18,"critical":33},{"positive":33,"critical":33},{"positive":40,"critical":40},{"positive":33,"critical":40},[40,18,46,18,18,18,33,47,18,33,40,33,18,33,18,46,18,33,33,18,47,47,47,40,18,47,48,47,40,40,33,33,18,40,33,33,33,40,47,18],4,5,2,null,{"problem":51,"audience":63,"pricing":49,"motivation":71,"time_to_build":49,"stack":75,"openness":87,"stage":88,"team_size":87},{"value":52,"source":53,"evidence":54},"Writing responsive, email-safe HTML is hard; Markdown is easier to author, especially with LLMs.","commenter",[55,59],{"id":56,"by":57,"text":58},"47514458","seer","They address this in the docs - it is meant to make authoring the content easier for LLMs since that is easy for them to write. It still uses MJML for the actual templates, but…",{"id":60,"by":61,"text":62},"47571329","comchangs","Nice. The LLM authoring angle is underappreciated — getting an AI to write valid MJML is painful, but Markdown is trivial. One thing I'd love: a CLI mode so I can pipe it into…",{"value":64,"source":53,"evidence":65},"Developers and founders sending transactional or newsletter emails, especially those authoring content with LLMs.",[66,67],{"id":56,"by":57,"text":58},{"id":68,"by":69,"text":70},"47506729","pembrook","I like how you aren't hiding the fact this is MJML under the hood and don't layer complex abstractions over MJML spec like similar projects (cough react email cough). The devs…",{"value":72,"source":53,"evidence":73},"Make email authoring easier, especially for LLM-generated content.",[74],{"id":56,"by":57,"text":58},[76,83],{"value":77,"source":78,"evidence":79},"MJML","maker",[80],{"id":81,"by":11,"text":82},"47519405","It uses MJML under the hood to ensure email-safe HTML is generated. That should prevent many edge cases where failures can happen - but I'm sure there are some skeletons we'll…",{"value":84,"source":53,"evidence":85},"Markdown",[86],{"id":56,"by":57,"text":58},"unknown","beta",{"praise":90,"objections":100,"requests":126,"questions":138,"alternatives":153},[91,96],{"value":92,"source":53,"evidence":93},"Easy to author content in Markdown, good for LLM workflows.",[94,95],{"id":60,"by":61,"text":62},{"id":56,"by":57,"text":58},{"value":97,"source":53,"evidence":98},"Transparent about using MJML under the hood rather than adding abstraction.",[99],{"id":68,"by":69,"text":70},[101,108,119],{"value":102,"source":53,"evidence":103},"Adds another abstraction layer on top of MJML.",[104],{"id":105,"by":106,"text":107},"47508103","safehuss","Anything that makes email development easier is great I guess, but have personally found MJML great for solving the issues you'd run into, and not sure I want yet another…",{"value":109,"source":53,"evidence":110},"HTML email is unnecessary; plain text or Markdown mail would be better.",[111,115],{"id":112,"by":113,"text":114},"47514225","mghackerlady","Or, hear me out. Just send the markdown and skip the HTML bullshit. Any mail client will render markdown fine and the ones that don't either aren't worth using or don't want HTML…",{"id":116,"by":117,"text":118},"47506622","koakuma-chan","I wish people just sent plain text.",{"value":120,"source":53,"evidence":121},"Unclear who the audience is since agents can write HTML directly.",[122],{"id":123,"by":124,"text":125},"47512333","razvan_maftei","I'm not exactly following as to who this is for - people are going to use email templates instead of writing Markdown emails, and agents can just as easily spit out HTML. Seems…",[127,134],{"value":128,"source":53,"evidence":129},"Cloudflare Workers support.",[130],{"id":131,"by":132,"text":133},"47510601","runtype","Would love to use this - any plans for Cloudflare Workers support? Some of the node APIs you're using block it from working on Cloudflare right now.",{"value":135,"source":53,"evidence":136},"A CLI mode for piping into notification hooks.",[137],{"id":60,"by":61,"text":62},[139,146],{"value":140,"source":53,"evidence":141},"How nested lists are handled and whether rendering degrades gracefully.",[142],{"id":143,"by":144,"text":145},"47515589","lexro_ai","Nice. Markdown-to-email is one of those things that sounds simple until you actually try it and Outlook destroys everything. Curious how you're handling nested lists — that's…",{"value":147,"source":53,"evidence":148},"Whether the Markdown syntax for components is custom or an existing extension.",[149],{"id":150,"by":151,"text":152},"47515079","bpev","I'm never seen the `::: header` or `![Logo](https:\u002F\u002F...logo.png){width=\"200\"}` kind of syntax before. Is this custom or Frankenstein solution? Or is there some kind of…",[154,157],{"value":77,"source":53,"evidence":155},[156],{"id":105,"by":106,"text":107},{"value":158,"source":53,"evidence":159},"React Email",[160],{"id":161,"by":162,"text":163},"47512802","r1290","What’s your opinion on react email?",{"comments":37,"answered":47,"key":165},[166,169,172],{"id":167,"text":168},"47507009","Thanks! I agree - the MJML team has laid so much groundwork and it frankly made this project possible.",{"id":170,"text":171},"47509683","There's not one that I'm aware of. Maybe it's about time there is :D",{"id":173,"text":174},"47511732","Good idea. I'll look into this.",{"commenters":176,"max_depth":177,"maker_replies":37,"first_comment_mins":177,"lifespan_hours":178},67,7,135,[180,182,184,188,191,194,198,201,205,207,210,213,216,219,222,225,228,231,234,236,238,240,242,244,247,250,253,256,259,262,265,267,270,273,277,280,284,288,289,291,295,299,302,304,307,309,313,314,316,320,322,326,331,334,335,338,340,344,348,351,354,358,360,364,369,372,375,379,383,386,388,390,393,397,400,402,406,408,410,412,415,418,422,424,427,429,431,434,436,439,442,444,446,450,454,456,458,462],[105,33,40,181,106,33],"project\u002Fcritical\u002Fidea",[56,33,18,183,57,33],"project\u002Fneutral\u002Fidea",[185,33,33,186,187,33],"47514587","other\u002Fneutral\u002Fnone","vanillameow",[189,33,18,190,106,33],"47516321","project\u002Fneutral\u002Fnone",[192,40,40,181,193,33],"47506520","Kwpolska",[195,40,47,196,197,33],"47506545","project\u002Fpositive\u002Fidea","dallen33",[199,40,47,196,200,33],"47506675","j45",[202,40,33,203,204,33],"47521479","commenter\u002Fneutral\u002Fnone","joshmoody24",[150,48,18,206,151,33],"project\u002Fneutral\u002Fdocs",[208,48,18,206,209,33],"47515532","austinjp",[211,48,18,206,212,33],"47515865","phrotoma",[214,48,18,206,215,33],"47517521","rcarr",[217,48,18,206,218,33],"47519177","rbbydotdev",[220,18,33,186,221,33],"47507094","ph4rsikal",[223,18,33,186,224,33],"47507266","hatmatrix",[226,18,33,186,227,33],"47510107","terminalgravity",[229,18,33,186,230,33],"47510902","phyzix5761",[232,18,33,233,209,33],"47515581","other\u002Fneutral\u002Fidea",[68,46,47,235,69,33],"project\u002Fpositive\u002Fexecution",[167,46,33,237,11,40],"maker\u002Fpositive\u002Fnone",[161,46,18,239,162,33],"maker\u002Fneutral\u002Fnone",[241,46,33,186,69,33],"47516204",[243,46,33,203,204,33],"47521525",[245,47,33,233,246,33],"47514581","deknos",[248,47,33,233,249,33],"47516985","teddyh",[251,37,40,181,252,33],"47506997","binaryturtle",[254,37,33,186,255,33],"47512308","Lord_Zero",[257,37,33,258,113,33],"47514231","other\u002Fneutral\u002Fprivacy",[260,37,33,203,261,33],"47514543","unmole",[263,37,18,183,264,33],"47512496","SergeAx",[266,37,33,203,252,33],"47515486",[268,177,33,233,269,33],"47510102","Escapade5160",[271,177,33,186,272,33],"47512046","whattheheckheck",[274,275,33,186,276,33],"47507172",8,"theanonymousone",[278,275,33,186,279,33],"47508409","Imustaskforhelp",[281,275,18,282,283,33],"47509433","project\u002Fneutral\u002Fprivacy","brian93512",[285,286,47,235,287,33],"47508025",9,"matzalazar",[123,38,40,181,124,33],[60,290,47,196,61,33],11,[292,31,18,293,294,33],"47524751","project\u002Fneutral\u002Fdesign","creatonez",[296,297,33,186,298,33],"47510506",13,"Barbing",[300,297,33,186,301,33],"47510826","johanvts",[303,297,33,203,298,33],"47512412",[305,297,33,203,306,33],"47514544","Ringz",[308,297,33,203,298,33],"47521362",[310,311,33,186,312,33],"47509364",14,"articsputnik",[170,311,33,239,11,40],[315,311,33,186,312,33],"47510843",[317,318,18,183,319,33],"47515363",15,"annie511266728",[321,318,33,203,209,33],"47515521",[323,324,47,325,218,33],"47509721",16,"project\u002Fpositive\u002Fdesign",[327,328,47,329,330,33],"47519699",17,"project\u002Fpositive\u002Fdocs","dimaberlin",[131,332,18,333,132,33],18,"project\u002Fneutral\u002Fexecution",[173,332,33,239,11,40],[336,332,33,337,11,40],"47513118","maker\u002Fpositive\u002Fexecution",[339,332,47,237,132,33],"47517783",[341,342,33,186,343,33],"47507773",19,"Igor_Wiwi",[345,346,40,181,347,33],"47512355",20,"vindin",[349,32,18,183,350,33],"47509778","gojomo",[352,32,33,186,353,33],"47510449","Avamander",[355,32,33,356,357,33],"47513602","commenter\u002Fneutral\u002Fidea","SoftTalker",[359,32,18,190,301,33],"47513822",[361,362,47,196,363,33],"47510782",22,"josegonzalez",[365,366,40,367,368,33],"47506693",23,"project\u002Fcritical\u002Fperformance","KhushaliT",[370,366,18,371,204,33],"47521541","project\u002Fneutral\u002Fperformance",[373,374,18,239,255,33],"47512311",24,[376,377,47,196,378,33],"47513951",25,"ksajadi",[380,381,18,206,382,33],"47508982",26,"deanputney",[384,381,33,385,11,40],"47509412","maker\u002Fneutral\u002Fdocs",[112,387,40,181,113,33],27,[116,389,40,181,117,33],28,[391,389,18,183,392,33],"47506651","XCSme",[394,389,40,395,396,33],"47506676","project\u002Fcritical\u002Fdesign","loloquwowndueo",[398,389,33,399,392,33],"47506745","commenter\u002Fneutral\u002Fdesign",[401,389,33,356,117,33],"47507085",[403,389,33,404,405,33],"47507174","commenter\u002Fneutral\u002Fprivacy","recursivegirth",[407,389,33,404,117,33],"47507300",[409,389,33,399,396,33],"47507722",[411,389,18,293,392,33],"47508810",[413,389,33,399,414,33],"47507841","antiframe",[416,389,40,181,417,33],"47508726","cxr",[419,389,33,420,421,33],"47515717","commenter\u002Fcritical\u002Fidea","lproven",[423,389,33,356,392,33],"47515735",[425,389,33,356,426,33],"47515894","einr",[428,389,33,356,392,33],"47515927",[430,389,33,356,426,33],"47516374",[432,389,33,203,433,33],"47506871","linhns",[435,389,33,186,69,33],"47506985",[437,389,33,203,438,33],"47508573","ape4",[440,389,33,203,441,33],"47509935","nailer",[443,389,33,203,353,33],"47510390",[445,389,33,186,204,33],"47521506",[447,448,40,181,449,33],"47519340",29,"AlphaTheGoat",[451,452,47,235,453,33],"47505276",30,"jsxyzb9",[143,455,18,333,144,33],31,[81,455,33,457,11,40],"maker\u002Fneutral\u002Fexecution",[459,460,40,181,461,33],"47506005",32,"alfanick",[463,460,47,196,464,33],"47506502","SunshineTheCat",[],[467,472,477,481,485,489],{"id":468,"name":469,"points":470,"category":471},"47506713","Video.js v10",648,"dev_tools",{"id":473,"name":474,"points":475,"category":476},"47503617","sentrysearch",438,"ai",{"id":478,"name":479,"points":480,"category":471},"47491466","Cq",225,{"id":482,"name":483,"points":484,"category":471},"47452515","Sonar",204,{"id":486,"name":487,"points":488,"category":471},"47499672","ProofShot",161,{"id":490,"name":491,"points":492,"category":476},"47524704","cog",157,false,"v2",{"id":496,"name":5,"line":6,"ai":493,"cat":20,"year":13,"points":14,"comments":15,"rec":28,"s":497,"top":18,"kw":498,"maker":11,"domain":10,"tier":19,"attempts":33,"strip":499,"url":9,"mix":500,"praise":92,"objection":102,"sub":21},47505144,-0.03,[24,25,26,27],"1343330530103034300355513525110031000153",[31,32,33,31],1793991149055]