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.
57 lines
1.3 KiB
Python
57 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}
|
|
print(project)
|
|
|
|
post = frontmatter.Post('', **project)
|
|
|
|
|
|
os.makedirs(f'projects/{slug}')
|
|
with open(f'projects/{slug}/documentation.md', 'w') as f:
|
|
documentation = frontmatter.dumps(post)
|
|
f.write(documentation)
|