markdown option for creating new comics

This commit is contained in:
mi
2025-11-12 11:23:05 +10:00
parent 8abb185c02
commit bf8ed23bc4
2 changed files with 48 additions and 1 deletions

View File

@@ -99,9 +99,13 @@ Comics are stored in the `COMICS` list in `comics_data.py`. Each comic entry:
**Option 1: Use the script (recommended)** **Option 1: Use the script (recommended)**
```bash ```bash
# Add comic entry only
python scripts/add_comic.py python scripts/add_comic.py
# Add comic entry AND create markdown file for author notes
python scripts/add_comic.py -m
``` ```
This will automatically add a new entry with defaults. Then edit `comics_data.py` to customize. This will automatically add a new entry with defaults. The `-m` flag creates a markdown file in `content/author_notes/{date}.md` with a template. Then edit `comics_data.py` to customize.
**Option 2: Manual** **Option 2: Manual**
1. Save your comic image in `static/images/comics/` (e.g., `comic-001.png`) 1. Save your comic image in `static/images/comics/` (e.g., `comic-001.png`)

View File

@@ -4,6 +4,7 @@ Script to add a new comic entry to comics_data.py with reasonable defaults
""" """
import sys import sys
import os import os
import argparse
from datetime import datetime from datetime import datetime
# Add parent directory to path so we can import comics_data # Add parent directory to path so we can import comics_data
@@ -11,8 +12,46 @@ sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
from comics_data import COMICS from comics_data import COMICS
def create_markdown_file(date_str, parent_dir):
"""Create a markdown file for author notes"""
author_notes_dir = os.path.join(parent_dir, 'content', 'author_notes')
# Create directory if it doesn't exist
os.makedirs(author_notes_dir, exist_ok=True)
markdown_file = os.path.join(author_notes_dir, f'{date_str}.md')
# Check if file already exists
if os.path.exists(markdown_file):
print(f"Warning: Markdown file already exists: {markdown_file}")
return markdown_file
# Create file with template content
template = f"""# Author Note
Write your author note here using markdown formatting.
**Example formatting:**
- *Italic text*
- **Bold text**
- [Links](https://example.com)
- `Code snippets`
"""
with open(markdown_file, 'w') as f:
f.write(template)
print(f"Created markdown file: {markdown_file}")
return markdown_file
def main(): def main():
"""Add a new comic entry with defaults""" """Add a new comic entry with defaults"""
parser = argparse.ArgumentParser(description='Add a new comic entry to comics_data.py')
parser.add_argument('-m', '--markdown', action='store_true',
help='Generate a markdown file for author notes')
args = parser.parse_args()
# Get next number # Get next number
number = max(comic['number'] for comic in COMICS) + 1 if COMICS else 1 number = max(comic['number'] for comic in COMICS) + 1 if COMICS else 1
@@ -51,6 +90,10 @@ def main():
print(f"Added comic #{number}") print(f"Added comic #{number}")
# Create markdown file if requested
if args.markdown:
create_markdown_file(comic['date'], parent_dir)
if __name__ == '__main__': if __name__ == '__main__':
main() main()