Skip to content

Instantly share code, notes, and snippets.

@jamesdoc
Created September 1, 2018 12:12
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jamesdoc/564b70613121265027bb232bddfee437 to your computer and use it in GitHub Desktop.
Save jamesdoc/564b70613121265027bb232bddfee437 to your computer and use it in GitHub Desktop.
Export old MySQL post table to MarkDown files
import json
import os
with open('oldblog.json') as f:
data = json.load(f)
sorted_pages = sorted(data, key=lambda k: int(k['id']))
posts = (x for x in sorted_pages if x['page_status'] in 'published')
for post in posts:
print post['id'] + " " + post['page_title']
filename = "blog/%s/%s.md" % (post['page_datetime'][:4], post['page_url'])
if not os.path.exists(os.path.dirname(filename)):
os.makedirs(os.path.dirname(filename))
file = open(filename,"w")
file.write("---\n")
file.write("title: %s\n" % post['page_title'].replace(':','-').encode('utf-8', 'ignore'))
file.write("type: article" + "\n")
file.write("tags: %s\n" % post['page_category'])
file.write("date: %s\n" % post['page_datetime'])
if post['page_header_image']:
headImage = post['page_header_image'].replace('/assets/uploads/', '/_assets/img/blog/imported/')
file.write("leadImage: %s\n" % headImage)
file.write("---\n")
file.write("%s\n" % post['page_content'].encode('utf-8', 'ignore'))
file.close()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment