From bf0ca26a71a57373402ac37290535a5688a844e8 Mon Sep 17 00:00:00 2001 From: Jim Shepich III Date: Fri, 30 Jan 2026 10:51:10 -0500 Subject: [PATCH] Copy assets pipeline --- config.yaml | 8 +- main.py | 55 +++++--- {assets => site/assets}/css/common.css | 0 {assets => site/assets}/css/deprecated.css | 0 {assets => site/assets}/css/layout.css | 0 {assets => site/assets}/css/lists.css | 0 {assets => site/assets}/css/reset.css | 0 {assets => site/assets}/css/theme.css | 0 {assets => site/assets}/fonts/3dlet.ttf | Bin {assets => site/assets}/fonts/3dlet.txt | 0 .../assets}/fonts/Adventure Outline.ttf | Bin {assets => site/assets}/fonts/Adventure.ttf | Bin .../assets}/fonts/Beleren-Bold.ttf | Bin .../assets}/fonts/Brody Font Regular.otf | Bin .../assets}/fonts/CollegiateBlackFLF.ttf | Bin .../assets}/fonts/CollegiateBorderFLF.ttf | Bin .../assets}/fonts/CollegiateFLF.ttf | Bin .../assets}/fonts/CollegiateInsideFLF.ttf | Bin .../assets}/fonts/CollegiateOutlineFLF.ttf | Bin {assets => site/assets}/fonts/EBGaramond.ttf | Bin .../assets}/fonts/FiraSans-Regular.ttf | Bin .../assets}/fonts/FloralCapitals.ttf | Bin {assets => site/assets}/fonts/MODERNA_.TTF | Bin .../assets}/fonts/Open 24 Display St.ttf | Bin .../assets}/fonts/OxygenMono-Regular.ttf | Bin {assets => site/assets}/fonts/Playbill.ttf | Bin .../assets}/fonts/PoiretOne-Regular.ttf | Bin .../assets}/fonts/StitchWarrior demo.ttf | Bin {assets => site/assets}/fonts/electrical.ttf | Bin {assets => site/assets}/js/character_sheet.js | 0 {assets => site/assets}/js/json_scraper.js | 0 {assets => site/assets}/js/lists.js | 0 {assets => site/assets}/js/resize.js | 0 .../assets}/js/vendor/jquery-3.6.0.min.js | 0 {assets => site/assets}/php/footer.php | 0 {assets => site/assets}/php/nav.php | 0 {assets => site/assets}/php/query_handler.php | 0 {pages => site/pages}/404.html | 0 {pages => site/pages}/about.html | 0 {pages => site/pages}/don-info.html | 0 {pages => site/pages}/home.md | 0 {pages => site/pages}/lists.html | 0 testbench.ipynb | 122 ++++++++++++------ 43 files changed, 129 insertions(+), 56 deletions(-) rename {assets => site/assets}/css/common.css (100%) rename {assets => site/assets}/css/deprecated.css (100%) rename {assets => site/assets}/css/layout.css (100%) rename {assets => site/assets}/css/lists.css (100%) rename {assets => site/assets}/css/reset.css (100%) rename {assets => site/assets}/css/theme.css (100%) rename {assets => site/assets}/fonts/3dlet.ttf (100%) rename {assets => site/assets}/fonts/3dlet.txt (100%) rename {assets => site/assets}/fonts/Adventure Outline.ttf (100%) rename {assets => site/assets}/fonts/Adventure.ttf (100%) rename {assets => site/assets}/fonts/Beleren-Bold.ttf (100%) rename {assets => site/assets}/fonts/Brody Font Regular.otf (100%) rename {assets => site/assets}/fonts/CollegiateBlackFLF.ttf (100%) rename {assets => site/assets}/fonts/CollegiateBorderFLF.ttf (100%) rename {assets => site/assets}/fonts/CollegiateFLF.ttf (100%) rename {assets => site/assets}/fonts/CollegiateInsideFLF.ttf (100%) rename {assets => site/assets}/fonts/CollegiateOutlineFLF.ttf (100%) rename {assets => site/assets}/fonts/EBGaramond.ttf (100%) rename {assets => site/assets}/fonts/FiraSans-Regular.ttf (100%) rename {assets => site/assets}/fonts/FloralCapitals.ttf (100%) rename {assets => site/assets}/fonts/MODERNA_.TTF (100%) rename {assets => site/assets}/fonts/Open 24 Display St.ttf (100%) rename {assets => site/assets}/fonts/OxygenMono-Regular.ttf (100%) rename {assets => site/assets}/fonts/Playbill.ttf (100%) rename {assets => site/assets}/fonts/PoiretOne-Regular.ttf (100%) rename {assets => site/assets}/fonts/StitchWarrior demo.ttf (100%) rename {assets => site/assets}/fonts/electrical.ttf (100%) rename {assets => site/assets}/js/character_sheet.js (100%) rename {assets => site/assets}/js/json_scraper.js (100%) rename {assets => site/assets}/js/lists.js (100%) rename {assets => site/assets}/js/resize.js (100%) rename {assets => site/assets}/js/vendor/jquery-3.6.0.min.js (100%) rename {assets => site/assets}/php/footer.php (100%) rename {assets => site/assets}/php/nav.php (100%) rename {assets => site/assets}/php/query_handler.php (100%) rename {pages => site/pages}/404.html (100%) rename {pages => site/pages}/about.html (100%) rename {pages => site/pages}/don-info.html (100%) rename {pages => site/pages}/home.md (100%) rename {pages => site/pages}/lists.html (100%) diff --git a/config.yaml b/config.yaml index 2ed6b33..931fdc6 100644 --- a/config.yaml +++ b/config.yaml @@ -8,9 +8,9 @@ site_defaults: pages: ./templates/pages sites: main: - build_cache: ./build + build_cache: ./site assets: - - ./assets + - /assets articles: - ./pages/*.md resume: @@ -24,7 +24,7 @@ sites: build_cache: ./build/dogma-jimfinium web_root: ./dist/dogma-jimfinium assets: - - '{build_cache}/assets' + - assets articles: - - '{build_cache}/*.md' + - '*.md' \ No newline at end of file diff --git a/main.py b/main.py index 3fca3d1..106fecb 100644 --- a/main.py +++ b/main.py @@ -1,4 +1,6 @@ import os +import glob +import shutil import subprocess import markdown import yaml @@ -30,7 +32,7 @@ class ArticleMetadata(pydantic.BaseModel): title: str author: Optional[str] = config.get('author') date: date - lastmod: Optional[date] + lastmod: Optional[date] = None published: bool tags: list thumbnail: Optional[str] = None @@ -73,20 +75,13 @@ def format_html_template(template: str, **kwargs) -> str: return html -REPOS = [ - 'ssh://gitea/jim/resume.git', - 'ssh://gitea/jim/dogma-jimfinium.git' -] run = lambda cmd: subprocess.run(cmd.split(' '), stdout = subprocess.PIPE, stderr = subprocess.PIPE) -def update_git_repos(repos: list) -> None: - '''Pulls updates to repos in the build directory, or clones them if they don't exist.''' - for repo in repos: - local_path = 'build/'+repo.split('/')[-1].strip('.git') - print(local_path) - if os.path.exists(f'{local_path}/.git'): - run(f'git -C {local_path} pull origin') - else: - run(f'git clone {repo} {local_path}') +def pull_git_repo(repo: str, build_cache: str) -> None: + '''Pulls/clones a repo into the build cache directory.''' + if os.path.exists(f'{build_cache}/.git'): + run(f'git -C {build_cache} pull origin') + else: + run(f'git clone {repo} {build_cache}') def load_partials() -> dict: @@ -147,7 +142,7 @@ def build_blog_archive( # Add each article as a list item to an unordered list. archive_html_content = '