[{"data":1,"prerenderedAt":323},["ShallowReactive",2],{"project-42795249":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":43,"post_text":45,"what":46,"said":93,"maker_in_thread":174,"shape":181,"grid":185,"attempts":286,"same_week":287,"maker_shows":32,"maker_hidden":315,"reader_version":316,"card":317},"42795249","wp2hugo","A service to convert WordPress blogs to Hugo","title","Show HN: I made a service to convert WordPress blogs to Hugo","https:\u002F\u002Fwp2hugo.blogdb.org\u002F","wp2hugo.blogdb.org","symkat",1737566900,2025,98,42,746,3837,20,"notable","dev_tools","static site migration","web_app",[24,25,26,27],"wordpress to hugo","wordpress migration","static site generator","markdown export","mixed",-0.247,{"positive":31,"neutral":32,"mixed":33,"critical":34},3,6,0,7,16,{"design":37,"idea":38,"pricing":41},{"positive":33,"critical":33},{"positive":39,"critical":40},1,4,{"positive":42,"critical":31},2,[31,33,33,33,33,31,33,33,33,33,33,31,33,33,33,33,39,33,31,33,33,33,39,33,39,33,33,33,33,44,31,33,39,44,33,44,39,31,39,39],5,"Hi Hacker News!\n\nI made this project to read a WordPress export and create the markdown files for Hugo.  It'll speed up the process of moving your blog over to Hugo and let you avoid a bunch of manual work.\n\nIt came about when I was talking to somebody who was trying to move their site over and didn't want to manually copy and reformat all their posts.  They had trouble finding a tool to do it, so I wrote one.\n\nI want to make sure it's useful to people before charging them, so it'll give you a download with 3 pages and 5 blog posts converted for free and without asking for any information.  If",{"problem":47,"audience":53,"pricing":60,"motivation":68,"time_to_build":78,"stack":79,"openness":90,"stage":91,"team_size":92},{"value":48,"source":49,"evidence":50},"Moving a WordPress blog to Hugo requires manual copying and reformatting of posts.","maker",[51],{"id":52},"post",{"value":54,"source":49,"evidence":55},"People moving WordPress blogs to Hugo, such as a site owner who got an expensive quote for a manual conversion.",[56,57],{"id":52},{"id":58,"by":11,"text":59},"42797423","I totally agree. This came about because of a pretty expensive quote the person I was talking to got.",{"value":61,"source":49,"evidence":62},"Free sample of 3 pages and 5 posts; one-time Stripe charge to convert everything, mentioned as $150 in comments.",[63,64],{"id":52},{"id":65,"by":66,"text":67},"42795711","GlacierFox","$150 haha. Wtf.",{"value":69,"source":49,"evidence":70},"Built after someone wanted to move their site and could not find a tool; maker also says it helps job search.",[71,72,75],{"id":52},{"id":73,"by":11,"text":74},"42797402","Thank you for commenting! Really the reason I picked Hugo is because that's what the person I was talking to wanted. He'd only found contractors who would charge more than he…",{"id":76,"by":11,"text":77},"42795932","In my case, at least a big part of it is I'm looking for a job again and doing something like this to get myself out there, I already had one person who was interested in this…",null,[80,86],{"value":81,"source":49,"evidence":82},"libxml",[83],{"id":84,"by":11,"text":85},"42798819","Thank you for saying so! That's super awesome too, this is not so different under the hood, I used libxml for getting the content and pandoc for converting -- pandoc turned out…",{"value":87,"source":49,"evidence":88},"pandoc",[89],{"id":84,"by":11,"text":85},"unknown","launched","solo",{"praise":94,"objections":107,"requests":134,"questions":149,"alternatives":161},[95],{"value":96,"source":97,"evidence":98},"Useful for moving blogs off WordPress without manual work.","commenter",[99,103],{"id":100,"by":101,"text":102},"42795811","toomuchtodo","This is ~1 hour of software engineer, ~2 hours of technology generalist time. Time is non renewable, and humans have a cost. If you're an agency, business, whatever, and have the…",{"id":104,"by":105,"text":106},"42800244","codenote","That's a great tool! When I migrated from WordPress to Astro before, I used my own custom script for the migration. I think having tools like this is very convenient and useful.",[108,116,123],{"value":109,"source":97,"evidence":110},"Charging $150 seems high for a conversion script.",[111,112],{"id":65,"by":66,"text":67},{"id":113,"by":114,"text":115},"42795676","JTyQZSnP3cQGa8B","Good. But I do wonder why we're flooded with \"services\" like that when a simple open-source Python script could do this. $150 FFS. I hope you have clients but the open-source dev…",{"value":117,"source":97,"evidence":118},"Name suggests Hugo theme conversion but it only converts content to Markdown.",[119],{"id":120,"by":121,"text":122},"42798545","tiffanyh","Isn't this a bit deceiving to call this \"WordPress 2 Hugo\"? Because isn't this just \"WordPress 2 Markdown\". Unless I'm mistaken, this does not recreate your WordPress…",{"value":124,"source":97,"evidence":125},"Plugins and dynamic functionality such as WooCommerce are not handled.",[126,130],{"id":127,"by":128,"text":129},"42798421","nikolay","WordPress is not just content - it's plugins such as WooCommerce, GiveWP, email marketing, BuddyPress, membership plugins, etc.",{"id":131,"by":132,"text":133},"42797079","binary_slinger","The real money is in converting sites with plugins and retaining the functionality which in many cases isn’t static. The copying of data to another tool is the easy part.",[135,142],{"value":136,"source":97,"evidence":137},"Keep URLs stable during conversion.",[138],{"id":139,"by":140,"text":141},"42798482","gpjt","That's pretty cool! I ported my own WP blog to a static site generator (my own but with a format inspired by Hugo) a while back and hacked together a script with wpparser and…",{"value":143,"source":97,"evidence":144},"Handle images and media uploads.",[145],{"id":146,"by":147,"text":148},"42796363","markx2","And how do I upload an image of my cat to my all new Hugo site? WP lets me drag\u002Fdrop or upload media very very easily. Has done for years. Hugo? or indeed most SSG's?",[150,157],{"value":151,"source":97,"evidence":152},"Does it handle themes and plugins?",[153],{"id":154,"by":155,"text":156},"42795666","alok-g","Does it handle themes, plugins, etc., as well? Thx.",{"value":158,"source":97,"evidence":159},"Are URLs kept stable?",[160],{"id":139,"by":140,"text":141},[162,169],{"value":163,"source":97,"evidence":164},"ashishb\u002Fwp2hugo open-source script on GitHub.",[165],{"id":166,"by":167,"text":168},"42795697","BryantD","https:\u002F\u002Fgithub.com\u002Fashishb\u002Fwp2hugo is pretty good. That said I think there's probably room for a good solution that doesn't require command line proficiency.",{"value":170,"source":97,"evidence":171},"Custom scripts using wpparser or pandoc.",[172,173],{"id":139,"by":140,"text":141},{"id":104,"by":105,"text":106},{"comments":34,"answered":40,"key":175},[176,177,180],{"id":84,"text":85},{"id":178,"text":179},"42795866","You're right, Hugo is for static sites! Hugo does support comments through things like Disqus (https:\u002F\u002Fgohugo.io\u002Fcontent-management\u002Fcomments\u002F). My service only converts the blog…",{"id":73,"text":74},{"commenters":182,"max_depth":44,"maker_replies":34,"first_comment_mins":183,"lifespan_hours":184},28,34,32,[186,188,190,194,196,199,203,204,207,210,213,216,220,222,225,228,231,233,234,235,237,240,242,245,246,248,249,252,255,258,261,264,266,268,271,273,275,278,280,282,284,285],[139,33,31,187,140,33],"project\u002Fneutral\u002Fdesign",[84,33,33,189,11,39],"maker\u002Fneutral\u002Fnone",[191,33,33,192,193,33],"42798877","commenter\u002Fneutral\u002Fnone","lewiscollard",[195,33,33,192,140,33],"42808062",[197,33,33,192,198,33],"42805552","raudette",[200,39,31,201,202,33],"42795739","project\u002Fneutral\u002Fnone","jayemar",[178,39,33,189,11,39],[205,39,33,192,206,33],"42795870","stanski",[208,39,33,192,209,33],"42798138","ipaddr",[211,39,33,192,212,33],"42801281","sussmannbaka",[214,39,33,192,215,33],"42801517","victorbjorklund",[217,42,31,218,219,33],"42797001","project\u002Fneutral\u002Fidea","revicon",[73,42,33,221,11,39],"maker\u002Fneutral\u002Fidea",[223,42,33,224,219,33],"42797651","other\u002Fneutral\u002Fnone",[226,42,33,192,227,33],"42800512","kristianp",[229,42,33,224,230,33],"42798834","angoragoats",[131,31,39,232,132,33],"project\u002Fcritical\u002Fidea",[58,31,33,221,11,39],[146,40,31,187,147,33],[236,40,33,224,193,33],"42798554",[238,40,33,224,239,33],"42798759","smitelli",[241,40,33,224,193,33],"42804535",[243,40,33,224,244,33],"42801654","dewey",[120,44,39,232,121,33],[247,44,33,189,11,39],"42798640",[127,32,39,232,128,33],[250,32,33,192,251,33],"42798439","wlesieutre",[253,32,33,192,254,33],"42798446","hanska",[256,32,33,192,257,33],"42798494","dylan604",[259,34,33,224,260,33],"42809704","pimlottc",[104,262,44,263,105,33],8,"project\u002Fpositive\u002Fidea",[154,265,31,201,155,33],9,[267,265,33,189,11,39],"42795877",[65,269,39,270,66,33],10,"project\u002Fcritical\u002Fpricing",[100,269,44,272,101,33],"project\u002Fpositive\u002Fpricing",[274,269,33,192,66,33],"42796414",[276,269,44,277,101,33],"42796795","maker\u002Fpositive\u002Fpricing",[113,279,39,270,114,33],11,[281,279,31,218,101,33],"42795691",[283,279,39,270,114,33],"42795747",[166,279,39,232,167,33],[76,279,33,189,11,39],[],[288,293,297,301,306,310],{"id":289,"name":290,"points":291,"category":292},"42797260","Byran's open-source laptop",3237,"hardware",{"id":294,"name":295,"points":296,"category":20},"42749402","Interactive systemd",546,{"id":298,"name":299,"points":300,"category":20},"42793777","Stratoshark",321,{"id":302,"name":303,"points":304,"category":305},"42796496","sms_llm",318,"creative",{"id":307,"name":308,"points":309,"category":20},"42738656","Mermaid Chart",230,{"id":311,"name":312,"points":313,"category":314},"42782295","Foqos",225,"productivity",false,"v2",{"id":318,"name":5,"line":6,"ai":315,"cat":20,"year":13,"points":14,"comments":15,"rec":28,"s":319,"top":18,"kw":320,"maker":11,"domain":10,"tier":19,"attempts":33,"strip":321,"url":9,"mix":322,"praise":96,"objection":109,"sub":21},42795249,-0.25,[24,25,26,27],"3000030000030000103000101000053015051311",[31,32,33,34],1794036668422]