jimsite/testbench.ipynb

143 lines
3.3 KiB
Plaintext

{
"cells": [
{
"cell_type": "markdown",
"id": "dda60de8",
"metadata": {},
"source": [
"## Roadmap\n",
"\n",
"- [x] Load markdown\n",
"- [] Determine static website structure\n",
" - Where to put assets for subsites like dogma jimfinium\n",
" - How to otherwise organize pages\n",
"- [] Resolve markdown links\n",
"- [] Consider separating article templates and overall page templates\n",
"- [] RSS feed\n",
"\n",
"\n",
"WEBROOT\n",
"- assets\n",
"- main pages\n",
"- resume\n",
"- dogma-jimfinium/\n",
" - assets/\n",
" - pages"
]
},
{
"cell_type": "code",
"execution_count": 1,
"id": "207d2510",
"metadata": {},
"outputs": [],
"source": [
"import os\n",
"import markdown\n",
"import yaml\n",
"import subprocess\n",
"\n",
"\n",
"from datetime import datetime\n",
"from main import *"
]
},
{
"cell_type": "code",
"execution_count": 9,
"id": "d2361c42",
"metadata": {},
"outputs": [],
"source": [
"metadata, content = load_markdown('tmp/dogma-jimfinium/blowouts.md')\n",
"content = content.replace('src=\"assets', 'src=\"../tmp/dogma-jimfinium/assets')"
]
},
{
"cell_type": "code",
"execution_count": 10,
"id": "ed7b3b2f",
"metadata": {},
"outputs": [],
"source": [
"PARTIALS = load_partials()\n",
"html = format_html_template('templates/default.html', content = content, **{'metadata__'+k:v for k,v in metadata.items()}, **PARTIALS)\n",
"with open('dist/home.html', 'w') as f:\n",
" f.write(html)"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "b8c87620",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"id": "57383c24",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"2025-12-01\n"
]
},
{
"data": {
"text/plain": [
"CompletedProcess(args=['cp', 'build/resume/2025-12-01/shepich_resume.pdf', 'dist/shepich_resume.pdf'], returncode=0, stdout=b'', stderr=b'')"
]
},
"execution_count": 170,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"def get_latest_resume():\n",
" max_date = '0000-00-00'\n",
" for resume_folder in os.listdir('build/resume'):\n",
" try:\n",
" datetime.strptime(resume_folder,'%Y-%m-%d')\n",
" except Exception:\n",
" continue\n",
" \n",
" if resume_folder > max_date:\n",
" max_date = resume_folder\n",
" \n",
"\n",
" print(max_date)\n",
" # print(max_date.strftime('%Y-%m-%d'))\n",
" \n",
" run(f'cp build/resume/{max_date}/shepich_resume.pdf dist/shepich_resume.pdf')"
]
}
],
"metadata": {
"kernelspec": {
"display_name": ".venv",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.12.3"
}
},
"nbformat": 4,
"nbformat_minor": 5
}