You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

56 lines
1.3 KiB
Python

import datetime
import os
import frontmatter
title = input("🦗 Title: ")
sluggish_title = title.replace(' ', '-').lower()
slug = input(
f"🦈 Slug: [{sluggish_title}] ") or sluggish_title
description = input('✏️ Description: ')
today = datetime.date.today().strftime('%d/%m/%Y')
date = input(f"🍲 Date: [{today}] ") or today
categories = [category.strip()
for category in input("🚩 Categories: ").split(',')]
url = input("🔗 URL: ")
git = input("🪃 Git: ")
pad = input("🗒️ Pad: ")
cover = input("🖼️ Cover: ")
cover_alt = input("🎨 Cover Description: ")
project = input("🦾 Static HTML: ")
template = input("🏛️ Custom Template: ")
script = input("🧑 Custom JS: ")
css = input("🤪 Custom CSS: ")
metadata = {
'title': title,
'slug': slug,
'description': description,
'date': date,
'categories': categories,
'url': url,
'git': git,
'pad': pad,
'cover': cover,
'cover_alt': cover_alt,
'project': project,
'template': template,
'script': script,
'css': css
}
project = {k: v for k, v in metadata.items() if v}
post = frontmatter.Post('', **project)
os.makedirs(f'projects/{slug}')
with open(f'projects/{slug}/{slug}.md', 'w') as f:
documentation = frontmatter.dumps(post)
f.write(documentation)