+ {{/* Build profiles from data/authors */}}
+ {{ $allProfiles := slice }}
+ {{ range $slug, $_ := site.Data.authors }}
+ {{ $allProfiles = $allProfiles | append (partial "functions/get_author_profile" (dict "slug" $slug)) }}
+ {{ end }}
+
+ {{ $groups := $block.content.user_groups }}
+
+ {{ if $groups }}
+ {{ range $group := $groups }}
+ {{ $groupProfiles := slice }}
+ {{ range $allProfiles }}
+ {{ $u := .user_groups | default (slice) }}
+ {{ if gt (len (intersect $u (slice $group))) 0 }}
+ {{ $groupProfiles = $groupProfiles | append . }}
+ {{ end }}
+ {{ end }}
+ {{ $groupProfiles = sort $groupProfiles "title" }}
+
+ {{ if and $groupProfiles (gt (len $groups) 1) }}
+
{{ end }}
-
- {{/* Team Members */}}
- {{ range $person := $query }}
- {{ $avatar := (.Resources.ByType "image").GetMatch "*avatar*" }}
- {{ $link := "" }}
- {{ with site.GetPage (printf "/authors/%s" (path.Base .File.Dir)) }}
- {{ $link = .RelPermalink }}
+
+
+ {{ end }}
+ {{ else }}
+ {{ $allProfiles = sort $allProfiles "title" }}
+
diff --git a/modules/blox-tailwind/layouts/_partials/page_metadata_authors.html b/modules/blox-tailwind/layouts/_partials/page_metadata_authors.html
index 147c3e34..d563cb69 100644
--- a/modules/blox-tailwind/layouts/_partials/page_metadata_authors.html
+++ b/modules/blox-tailwind/layouts/_partials/page_metadata_authors.html
@@ -1,17 +1,18 @@
{{/* Display author list. */}}
{{ if .Params.authors }}
- {{ range $index, $value := (.GetTerms "authors") }}
- {{- /* Highlight the author's name? */ -}}
- {{- $highlight_name := .Page.Params.highlight_name | default false -}}
+ {{ range $index, $term := (.GetTerms "authors") }}
+ {{- $slug := $term.Data.Term | urlize -}}
+ {{- $profile := partial "functions/get_author_profile" (dict "slug" $slug) -}}
+ {{- $display := $profile.title | default $term.LinkTitle -}}
+ {{- $highlight_name := false -}}
{{- if gt $index 0 }}, {{ end -}}
{{- if isset $.Params "author_notes" -}}
diff --git a/modules/blox-tailwind/layouts/_partials/site_head.html b/modules/blox-tailwind/layouts/_partials/site_head.html
index 48827ed1..d8fcb60f 100644
--- a/modules/blox-tailwind/layouts/_partials/site_head.html
+++ b/modules/blox-tailwind/layouts/_partials/site_head.html
@@ -12,18 +12,30 @@
{{- end -}}
- {{/* Attempt to load superuser. */}}
- {{ $superuser_name := "" }}
- {{ $superuser_username := "" }}
- {{ $superuser_role := "" }}
- {{ range first 1 (where (where site.Pages "Section" "authors") "Params.superuser" true) }}
- {{ $superuser_name = .Title }}
- {{ $superuser_username = path.Base .File.Dir }}
- {{ $superuser_role = .Params.role }}
- {{ end }}
- {{ $scr.Set "superuser_username" $superuser_username }}{{/* Set superuser globally for page_author.html. */}}
+{{/* Attempt to load superuser/person from data. */}}
+{{ $superuser_name := "" }}
+{{ $superuser_slug := "" }}
+{{ $superuser_role := "" }}
- {{ with $superuser_name }}
{{ end }}
+{{/* Prefer is_owner flag, fallback to slug 'me' */}}
+{{ range $slug, $data := site.Data.authors }}
+ {{ if and (not $superuser_slug) ($data.is_owner) }}
+ {{ $superuser_slug = $slug }}
+ {{ end }}
+{{ end }}
+{{ if and (eq $superuser_slug "") (index site.Data.authors "me") }}
+ {{ $superuser_slug = "me" }}
+{{ end }}
+
+{{ if $superuser_slug }}
+ {{ $profile := partial "functions/get_author_profile" (dict "slug" $superuser_slug) }}
+ {{ $superuser_name = $profile.title }}
+ {{ $superuser_role = $profile.role }}
+{{ end }}
+
+{{ $scr.Set "superuser_slug" $superuser_slug }}{{/* Set superuser globally for author rendering. */}}
+
+{{ with $superuser_name }}
{{ end }}
{{/* Generate page description. */}}
{{ $desc := "" }}
@@ -114,15 +126,22 @@
{{/* Get page image for sharing. */}}
{{ $sharing_image := resources.GetMatch (path.Join "media" "sharing.*") }}
{{ $featured_image := (.Resources.ByType "image").GetMatch "*featured*" }}
- {{ $avatar_image := (.Resources.ByType "image").GetMatch "avatar*" }}
+{{ $avatar_image := (.Resources.ByType "image").GetMatch "avatar*" }}
{{ $has_logo := fileExists "assets/media/logo.png" | or (fileExists "assets/media/logo.svg") }}
{{ $og_image := "" }}
{{ $twitter_card := "summary_large_image" }}
- {{ if (and (eq .Kind "term") $avatar_image) }}
- {{/* Match image processing in About widget to prevent generating more images than necessary. */}}
- {{ $og_image = ($avatar_image.Fill "540x540 Center").Permalink }}
+{{ if and (eq .Kind "term") (eq .Data.Singular "author") }}
+ {{/* Try data-driven avatar for author term pages */}}
+ {{ $termSlug := .Data.Term | urlize }}
+ {{ $profile := partial "functions/get_author_profile" (dict "slug" $termSlug) }}
+ {{ with $profile.avatar }}
+ {{ $og_image = (.Fill "540x540 Center").Permalink }}
{{ $twitter_card = "summary" }}
- {{ else if $featured_image }}
+ {{ end }}
+{{ else if (and (eq .Kind "term") $avatar_image) }}
+ {{ $og_image = ($avatar_image.Fill "540x540 Center").Permalink }}
+ {{ $twitter_card = "summary" }}
+{{ else if $featured_image }}
{{ $og_image = $featured_image.Permalink }}
{{ else if $sharing_image }}
{{ $og_image = $sharing_image.Permalink }}
diff --git a/modules/blox-tailwind/layouts/_partials/views/card.html b/modules/blox-tailwind/layouts/_partials/views/card.html
index 5bcd8acb..c38c8347 100644
--- a/modules/blox-tailwind/layouts/_partials/views/card.html
+++ b/modules/blox-tailwind/layouts/_partials/views/card.html
@@ -145,29 +145,20 @@
{{ if $item.Params.authors }}
- {{ $authorTerm := index ($item.GetTerms "authors") 0 }}
- {{ if $authorTerm }}
- {{/* Author page exists - show avatar or default icon */}}
-
- {{ $avatar := ($authorTerm.Resources.ByType "image").GetMatch "*avatar*" }}
- {{ if $avatar }}
- {{ $avatar_48 := $avatar.Process "Fill 48x48 Center webp" }}
-

- {{ else }}
- {{/* Default avatar icon when no image */}}
-
- {{ partial "functions/get_icon" (dict "name" "hero/user" "attributes" "class=\"w-4 h-4 text-gray-500 dark:text-gray-400\"") }}
-
- {{ end }}
-
-
{{ $authorTerm.Page.LinkTitle }}
- {{ else }}
- {{/* No author page - just show team icon and first author name */}}
-
- {{ partial "functions/get_icon" (dict "name" "hero/user-group" "attributes" "class=\"w-4 h-4 text-primary-600 dark:text-primary-400\"") }}
-
-
{{ index $item.Params.authors 0 }}
- {{ end }}
+ {{ $slug := index $item.Params.authors 0 | urlize }}
+ {{ $profile := partial "functions/get_author_profile" $slug }}
+ {{ $avatar := $profile.avatar }}
+
+ {{ if $avatar }}
+ {{ $avatar_48 := $avatar.Process "Fill 48x48 Center webp" }}
+

+ {{ else }}
+
+ {{ partial "functions/get_icon" (dict "name" "hero/user" "attributes" "class=\"w-4 h-4 text-gray-500 dark:text-gray-400\"") }}
+
+ {{ end }}
+
+
{{ $profile.title }}
β’
{{ end }}
diff --git a/modules/blox-tailwind/layouts/authors/term.html b/modules/blox-tailwind/layouts/authors/term.html
new file mode 100644
index 00000000..8f290c0f
--- /dev/null
+++ b/modules/blox-tailwind/layouts/authors/term.html
@@ -0,0 +1,98 @@
+{{ define "main" }}
+
+{{ $slug := .Data.Term | urlize }}
+{{ $profile := partial "functions/get_author_profile" (dict "slug" $slug) }}
+{{ $avatar := $profile.avatar }}
+{{ $avatar_shape := site.Params.hugoblox.layout.avatar_shape | default "circle" }}
+
+
+
+
+ {{ if $avatar }}
+ {{ $responsive := partial "functions/process_responsive_image.html" (dict
+ "image" $avatar
+ "mode" "fill"
+ "aspect_ratio" "1:1"
+ "anchor" "Center"
+ "sizes" (slice 160 240 320 480)
+ ) }}
+

+ {{ else }}
+
+ {{ partial "functions/get_icon" (dict "name" "hero/user" "attributes" "class=\"h-12 w-12 text-gray-400\"") }}
+
+ {{ end }}
+
+
+
+
+
{{ $profile.title }}
+ {{ with $profile.status }}
+ {{ with .icon }}
+ {{ . }}
+ {{ end }}
+ {{ end }}
+
+
+ {{ with $profile.role }}
+
{{ . | markdownify | emojify }}
+ {{ end }}
+
+ {{ with $profile.affiliations }}
+
+ {{ range $index, $org := . }}
+ {{ if gt $index 0 }} Β· {{ end }}
+ {{ if $org.url }}
{{ $org.name }}{{ else }}{{ $org.name }}{{ end }}
+ {{ end }}
+
+ {{ end }}
+
+ {{ with $profile.bio }}
+
+ {{ . | markdownify | emojify }}
+
+ {{ end }}
+
+ {{ if $profile.links }}
+
+ {{ partial "social_links" (dict "Params" (dict "profiles" $profile.links)) }}
+
+ {{ end }}
+
+
+
+
+{{ $view := "card" }}
+{{ $block := . }}
+{{ $paginator := .Paginate .Pages.ByDate.Reverse }}
+{{ $config := dict
+ "columns" 2
+ "len" (len $paginator.Pages)
+ "fill_image" true
+ "show_date" true
+ "show_read_time" true
+ "show_read_more" true
+}}
+
+
+ {{ partial "functions/render_view" (dict "fragment" "start" "page" $block "item" . "view" $view "config" $config) }}
+
+ {{ range $index, $item := $paginator.Pages }}
+ {{ partial "functions/render_view" (dict "page" . "item" . "view" $view "index" $index "config" $config) }}
+ {{ end }}
+
+ {{ partial "functions/render_view" (dict "fragment" "end" "page" $block "item" . "view" $view) }}
+
+ {{ partial "components/paginator" . }}
+
+
+{{ end }}
diff --git a/modules/blox-tailwind/layouts/single.html b/modules/blox-tailwind/layouts/single.html
index 27066788..af6ff9d0 100644
--- a/modules/blox-tailwind/layouts/single.html
+++ b/modules/blox-tailwind/layouts/single.html
@@ -78,30 +78,22 @@
{{ end }}
- {{ $taxonomy := "authors" }}
- {{ range $i, $author_obj := (.GetTerms $taxonomy) }}
- {{ $author_page := $author_obj.Page }}
- {{ $avatar := ($author_page.Resources.ByType "image").GetMatch "*avatar*" }}
- {{- if and $i (not $avatar) }}
,{{ end -}}
- {{ with $author_page.Params.website }}
-
- {{ end }}
+ {{ range $i, $slug := .Params.authors }}
+ {{ $profile := partial "functions/get_author_profile" $slug }}
+ {{ $avatar := $profile.avatar }}
+ {{ if and $i (not $avatar) }},{{ end }}
{{ with $avatar }}
- {{/* Simple 2x retina image for small avatar */}}
- {{ $avatar_32 := $avatar.Process "Fill 32x32 Center webp" }}
+ {{ $avatar_32 := .Process "Fill 32x32 Center webp" }}

{{ end }}
-
{{ $author_page.Title }}
+
{{ $profile.title }}
- {{ with $author_page.Params.website }}
-
- {{ end }}
{{/* Add author note tooltip if available */}}
{{- if isset $.Params "author_notes" -}}
{{- with (index $.Params.author_notes $i) -}}
diff --git a/scripts/release_modules.py b/scripts/release_modules.py
index 7ef408e4..0f5e978f 100644
--- a/scripts/release_modules.py
+++ b/scripts/release_modules.py
@@ -9,7 +9,7 @@ Features:
- Updates special module metadata (blox-tailwind data/hugoblox.yaml version)
- Updates dependent modules' go.mod "require" versions when a dependency is released
- Tags changed modules with annotated tags and pushes tags
- - Updates templates' go.mod to latest released module versions and bumps Hugo version in CI/Netlify config
+ - Updates templates' go.mod to latest released module versions and bumps Hugo version in template configs (hugoblox.yaml, Netlify, devcontainer)
Usage examples:
poetry run python scripts/release_modules.py --dry-run --log-level INFO
@@ -113,6 +113,36 @@ def update_go_mod_require_pseudo_version(go_mod_text: str, dep_module_path: str,
return re.sub(pattern_line, replacement_line, go_mod_text)
+def update_devcontainer_hugo(starter_dir: Path, latest_hugo: Optional[str], updated_paths: List[Path]) -> None:
+ """Update devcontainer Hugo feature version if present."""
+ if not latest_hugo:
+ return
+ devcontainer = starter_dir / ".devcontainer" / "devcontainer.json"
+ if not devcontainer.exists():
+ return
+ try:
+ data = json.loads(devcontainer.read_text(encoding="utf-8"))
+ except Exception as exc: # pragma: no cover - defensive
+ logging.warning("starter %s: failed to parse devcontainer.json (%s)", starter_dir.name, exc)
+ return
+
+ features = data.get("features", {})
+ hugo_feature = features.get("ghcr.io/devcontainers/features/hugo:1")
+ if not isinstance(hugo_feature, dict):
+ return
+
+ current = hugo_feature.get("version")
+ if current == latest_hugo:
+ return
+
+ hugo_feature["version"] = latest_hugo
+ features["ghcr.io/devcontainers/features/hugo:1"] = hugo_feature
+ data["features"] = features
+ devcontainer.write_text(json.dumps(data, indent=2) + "\n", encoding="utf-8")
+ updated_paths.append(devcontainer)
+ logging.info("starter %s: devcontainer Hugo version -> %s", starter_dir.name, latest_hugo)
+
+
@dataclass
class Module:
name: str # e.g., blox-tailwind
@@ -512,17 +542,8 @@ def update_starters(modules: Dict[str, Module], commit: bool, push: bool) -> Non
updated_paths.append(netlify)
logging.info("starter %s: netlify.toml HUGO_VERSION -> %s", starter_dir.name, latest_hugo)
- # bump deploy.yml env WC_HUGO_VERSION
- workflow = starter_dir / ".github" / "workflows" / "deploy.yml"
- if latest_hugo and workflow.exists():
- with workflow.open("r", encoding="utf-8") as f:
- wf = yaml.load(f) or {}
- if "env" in wf and wf["env"].get("WC_HUGO_VERSION") != latest_hugo:
- wf["env"]["WC_HUGO_VERSION"] = latest_hugo
- with workflow.open("w", encoding="utf-8") as f:
- yaml.dump(wf, f)
- updated_paths.append(workflow)
- logging.info("starter %s: deploy.yml WC_HUGO_VERSION -> %s", starter_dir.name, latest_hugo)
+ # bump devcontainer Hugo version (new location for Hugo pin)
+ update_devcontainer_hugo(starter_dir, latest_hugo, updated_paths)
if updated_paths:
stage_and_maybe_commit(updated_paths, "chore(templates): bump modules and Hugo", commit, push)
@@ -591,17 +612,8 @@ def update_starters_to_commits(modules: Dict[str, Module], commit: bool, push: b
updated_paths.append(netlify)
logging.info("starter %s: netlify.toml HUGO_VERSION -> %s", starter_dir.name, latest_hugo)
- # bump deploy.yml env WC_HUGO_VERSION (same as regular update_starters)
- workflow = starter_dir / ".github" / "workflows" / "deploy.yml"
- if latest_hugo and workflow.exists():
- with workflow.open("r", encoding="utf-8") as f:
- wf = yaml.load(f) or {}
- if "env" in wf and wf["env"].get("WC_HUGO_VERSION") != latest_hugo:
- wf["env"]["WC_HUGO_VERSION"] = latest_hugo
- with workflow.open("w", encoding="utf-8") as f:
- yaml.dump(wf, f)
- updated_paths.append(workflow)
- logging.info("starter %s: deploy.yml WC_HUGO_VERSION -> %s", starter_dir.name, latest_hugo)
+ # bump devcontainer Hugo version (same as regular update_starters)
+ update_devcontainer_hugo(starter_dir, latest_hugo, updated_paths)
if updated_paths:
stage_and_maybe_commit(updated_paths, "chore(templates): update modules to latest commits", commit, push)
diff --git a/scripts/update_template_hugo.py b/scripts/update_template_hugo.py
new file mode 100644
index 00000000..7143cbee
--- /dev/null
+++ b/scripts/update_template_hugo.py
@@ -0,0 +1,92 @@
+#!/usr/bin/env python3
+import argparse
+import re
+import json
+import sys
+from pathlib import Path
+
+def update_file_regex(path, pattern, replacement):
+ file_path = Path(path)
+ if not file_path.exists():
+ print(f"Warning: {path} not found.")
+ return False
+
+ content = file_path.read_text()
+ if re.search(pattern, content):
+ new_content = re.sub(pattern, replacement, content)
+ file_path.write_text(new_content)
+ print(f"Updated {path}")
+ return True
+ else:
+ print(f"Warning: Pattern not found in {path}")
+ return False
+
+def update_devcontainer(path, new_version):
+ file_path = Path(path)
+ if not file_path.exists():
+ print(f"Warning: {path} not found.")
+ return False
+
+ try:
+ content = json.loads(file_path.read_text())
+ # Update Hugo feature version
+ features = content.get("features", {})
+ hugo_feature = features.get("ghcr.io/devcontainers/features/hugo:1")
+ if hugo_feature:
+ hugo_feature["version"] = new_version
+ file_path.write_text(json.dumps(content, indent=2) + "\n") # standard json formatting
+ print(f"Updated {path}")
+ return True
+ else:
+ print(f"Warning: Hugo feature not found in {path}")
+ return False
+ except Exception as e:
+ print(f"Error updating {path}: {e}")
+ return False
+
+def main():
+ parser = argparse.ArgumentParser(description="Update Hugo version in template files")
+ parser.add_argument("version", help="New Hugo version (e.g., 0.152.2)")
+ args = parser.parse_args()
+
+ version = args.version
+
+ # List of templates to update
+ templates = [
+ "academic-cv",
+ "blog",
+ "documentation",
+ "landing-page",
+ "link-in-bio",
+ "resume"
+ ]
+
+ for template in templates:
+ print(f"\nProcessing template: {template}")
+ template_dir = Path(f"templates/{template}")
+
+ # 1. Update hugoblox.yaml
+ update_file_regex(
+ template_dir / "hugoblox.yaml",
+ r"hugo_version: .*",
+ f"hugo_version: '{version}'"
+ )
+
+ # 2. Update netlify.toml
+ update_file_regex(
+ template_dir / "netlify.toml",
+ r'HUGO_VERSION = ".*"',
+ f'HUGO_VERSION = "{version}"'
+ )
+
+ # 3. Update devcontainer.json
+ update_devcontainer(
+ template_dir / ".devcontainer/devcontainer.json",
+ version
+ )
+
+ print(f"\nSuccessfully updated all templates to Hugo v{version}")
+ print("Note: .github/workflows/deploy.yml is configured to read the version dynamically from hugoblox.yaml.")
+
+if __name__ == "__main__":
+ main()
diff --git a/templates/academic-cv/content/authors/admin/avatar.png b/templates/academic-cv/assets/media/authors/me.png
similarity index 100%
rename from templates/academic-cv/content/authors/admin/avatar.png
rename to templates/academic-cv/assets/media/authors/me.png
diff --git a/templates/academic-cv/content/_index.md b/templates/academic-cv/content/_index.md
index b0d60a6f..cf4c56ff 100644
--- a/templates/academic-cv/content/_index.md
+++ b/templates/academic-cv/content/_index.md
@@ -12,7 +12,7 @@ sections:
- block: resume-biography-3
content:
# Choose a user profile to display (a folder name within `content/authors/`)
- username: admin
+ username: me
text: ''
# Show a call-to-action button under your biography? (optional)
button:
@@ -28,6 +28,10 @@ sections:
gradient_mesh:
enable: true
+ # Name heading sizing to accommodate long or short names
+ name:
+ size: balanced # Options: compact (long names), balanced (default), display (short names)
+
# Avatar customization
avatar:
size: medium # Options: small (150px), medium (200px, default), large (320px), xl (400px), xxl (500px)
diff --git a/templates/academic-cv/content/authors/admin/_index.md b/templates/academic-cv/content/authors/admin/_index.md
deleted file mode 100644
index 58a309e6..00000000
--- a/templates/academic-cv/content/authors/admin/_index.md
+++ /dev/null
@@ -1,172 +0,0 @@
----
-# Display name
-title: Alex Johnson
-
-# Name pronunciation (optional)
-name_pronunciation: ''
-
-# Full name (for SEO)
-first_name: Alex
-last_name: Johnson
-
-# Pronouns (optional)
-pronouns: he/him
-
-# Status emoji
-status:
- icon: π
-
-# Is this the primary user of the site?
-superuser: true
-
-# Highlight the author in author lists? (true/false)
-highlight_name: true
-
-# Role/position/tagline
-role: Senior AI Research Scientist
-
-# Organizations/Affiliations to display in Biography blox
-organizations:
- - name: Meta AI
- url: https://ai.meta.com/
-
-# Social network links
-# Need to use another icon? Simply download the SVG icon to your `assets/media/icons/` folder.
-profiles:
- - icon: at-symbol
- url: 'mailto:alex.johnson@meta.com'
- label: E-mail Me
- - icon: brands/x
- url: https://x.com/AlexAIResearch
- - icon: brands/github
- url: https://github.com/alexjohnsonai
- - icon: brands/linkedin
- url: https://www.linkedin.com/in/alexjohnsonai/
- - icon: academicons/google-scholar
- url: https://scholar.google.com/citations?user=alexjohnson
- - icon: academicons/orcid
- url: https://orcid.org/0000-0002-1825-0097
-
-interests:
- - Large Language Models
- - Computer Vision
- - Reinforcement Learning
- - AI Ethics
-
-education:
- - area: PhD Computer Science (AI Focus)
- institution: Stanford University
- icon: ""
- date_start: 2015-09-01
- date_end: 2019-06-30
- summary: |
- Thesis on _Scaling Laws for Neural Language Models_. Supervised by Prof. Andrew Ng. Published 5 papers in NeurIPS and ICML, with 2 best paper awards.
- button:
- text: 'Read Thesis'
- url: 'https://example.com/thesis.pdf'
- - area: MS Computer Science
- institution: Carnegie Mellon University
- icon: ""
- date_start: 2013-09-01
- date_end: 2015-05-31
- summary: |
- GPA: 4.0/4.0
-
- Specialized in machine learning and robotics.
- - area: BS Computer Science
- institution: MIT
- icon: ""
- date_start: 2009-09-01
- date_end: 2013-05-31
- summary: |
- GPA: 3.9/4.0
-
- Minored in Mathematics. President of AI Club.
-
-work:
- - position: Senior AI Research Scientist
- company_name: Meta AI
- company_url: 'https://ai.meta.com/'
- icon: ''
- date_start: 2020-01-01
- date_end: ''
- summary: |2-
- Leading research on multimodal AI systems. Contributed to Llama 2 and other open-source models. 50+ citations in 3 years.
- - position: AI Research Intern
- company_name: OpenAI
- company_url: 'https://openai.com/'
- icon: ''
- date_start: 2019-06-01
- date_end: 2019-12-31
- summary: |
- Worked on GPT-3 scaling. Co-authored paper on prompt engineering.
-
-# Skills
-# Add your own SVG icons to `assets/media/icons/`
-skills:
- - name: Technical Skills
- items:
- - name: Python & PyTorch
- description: ''
- percent: 95
- icon: code-bracket
- - name: Machine Learning
- description: ''
- percent: 100
- icon: chart-bar
- - name: Cloud Computing (AWS/GCP)
- description: ''
- percent: 85
- icon: cloud
- - name: Hobbies
- color: '#eeac02'
- color_border: '#f0bf23'
- items:
- - name: Hiking in the Rockies
- description: ''
- percent: 80
- icon: person-simple-walk
- - name: Building Custom PCs
- description: ''
- percent: 90
- icon: cpu-chip
- - name: Sci-Fi Reading
- description: ''
- percent: 70
- icon: book-open
-
-languages:
- - name: English
- percent: 100
- - name: Spanish
- percent: 50
-
-# Awards.
-# Add/remove as many awards below as you like.
-# Only `title`, `awarder`, and `date` are required.
-# Begin multi-line `summary` with YAML's `|` or `|2-` multi-line prefix and indent 2 spaces below.
-awards:
- - title: Best Paper Award
- url: https://neurips.cc/
- date: '2022-12-01'
- awarder: NeurIPS
- icon: hero/trophy
- summary: |
- Awarded for groundbreaking work on efficient training of large models.
- - title: AI Innovation Grant
- url: https://www.nsf.gov/
- date: '2021-06-15'
- awarder: National Science Foundation
- icon: hero/currency-dollar
- summary: |
- $500,000 grant for research in ethical AI development.
- - title: Outstanding PhD Thesis
- url: https://www.stanford.edu/
- date: '2019-06-30'
- awarder: Stanford University
- icon: hero/academic-cap
- summary: |
- Recognized for contributions to scaling laws in deep learning.
----
-
-Alex Johnson is a Senior AI Research Scientist at Meta AI, where he leads groundbreaking work on large language models and multimodal systems. His research has been published in top conferences like NeurIPS and ICML, with over 10,000 citations. Alex is passionate about pushing the boundaries of AI while ensuring ethical development. Outside of work, he enjoys hiking in the Rockies, building custom PCs, and mentoring the next generation of AI talent.
diff --git a/templates/academic-cv/content/blog/data-visualization/index.md b/templates/academic-cv/content/blog/data-visualization/index.md
index 49ee71a1..e0bfad54 100644
--- a/templates/academic-cv/content/blog/data-visualization/index.md
+++ b/templates/academic-cv/content/blog/data-visualization/index.md
@@ -3,7 +3,7 @@ title: π Communicate your results effectively with the best data visualizatio
summary: Use popular tools such as HuggingFace, Plotly, Mermaid, and data frames.
date: 2023-10-25
authors:
- - admin
+ - me
tags:
- Hugo
- Hugo Blox
diff --git a/templates/academic-cv/content/blog/get-started/index.md b/templates/academic-cv/content/blog/get-started/index.md
index d4a55068..78ceac20 100644
--- a/templates/academic-cv/content/blog/get-started/index.md
+++ b/templates/academic-cv/content/blog/get-started/index.md
@@ -25,7 +25,7 @@ cover:
name: "β¨"
authors:
- - admin
+ - me
- Ted
tags:
diff --git a/templates/academic-cv/content/blog/notebook-onboarding/index.md b/templates/academic-cv/content/blog/notebook-onboarding/index.md
index 776da834..e4871da0 100644
--- a/templates/academic-cv/content/blog/notebook-onboarding/index.md
+++ b/templates/academic-cv/content/blog/notebook-onboarding/index.md
@@ -3,7 +3,7 @@ title: β‘οΈ Turn Jupyter Notebooks into Blog Posts
summary: Publish your data science and research directly from Jupyter Notebooks. No screenshots required.
date: 2024-07-15
authors:
- - admin
+ - me
tags:
- Hugo Blox
- Jupyter
diff --git a/templates/academic-cv/content/blog/project-management/index.md b/templates/academic-cv/content/blog/project-management/index.md
index 9c4a8c01..b9db5576 100644
--- a/templates/academic-cv/content/blog/project-management/index.md
+++ b/templates/academic-cv/content/blog/project-management/index.md
@@ -3,7 +3,7 @@ title: β
Manage your projects
summary: Easily manage your projects - create ideation mind maps, Gantt charts, todo lists, and more!
date: 2023-10-23
authors:
- - admin
+ - me
tags:
- Hugo Blox
- Markdown
diff --git a/templates/academic-cv/content/blog/second-brain/index.md b/templates/academic-cv/content/blog/second-brain/index.md
index 00dec396..d71ff21c 100644
--- a/templates/academic-cv/content/blog/second-brain/index.md
+++ b/templates/academic-cv/content/blog/second-brain/index.md
@@ -3,7 +3,7 @@ title: π§ Sharpen your thinking with a second brain
summary: Create a personal knowledge base and share your knowledge with your peers.
date: 2023-10-26
authors:
- - admin
+ - me
tags:
- Second Brain
- Markdown
diff --git a/templates/academic-cv/content/blog/teach-courses/index.md b/templates/academic-cv/content/blog/teach-courses/index.md
index 89ff526a..590f66a8 100644
--- a/templates/academic-cv/content/blog/teach-courses/index.md
+++ b/templates/academic-cv/content/blog/teach-courses/index.md
@@ -4,7 +4,7 @@ summary: Embed videos, podcasts, code, LaTeX math, and even test students!
date: 2023-10-24
math: true
authors:
- - admin
+ - me
tags:
- Hugo
- Hugo Blox Builder
diff --git a/templates/academic-cv/content/events/example/index.md b/templates/academic-cv/content/events/example/index.md
index cbd77b76..ec335bd4 100644
--- a/templates/academic-cv/content/events/example/index.md
+++ b/templates/academic-cv/content/events/example/index.md
@@ -25,7 +25,7 @@ all_day: false
publishDate: '2017-01-01T00:00:00Z'
authors:
- - admin
+ - me
tags: []
diff --git a/templates/academic-cv/content/experience.md b/templates/academic-cv/content/experience.md
index 9b6f6966..79434360 100644
--- a/templates/academic-cv/content/experience.md
+++ b/templates/academic-cv/content/experience.md
@@ -12,7 +12,7 @@ design:
sections:
- block: resume-experience
content:
- username: admin
+ username: me
design:
# Hugo date format
date_format: 'January 2006'
@@ -21,15 +21,13 @@ sections:
- block: resume-skills
content:
title: Skills & Hobbies
- username: admin
- design:
- show_skill_percentage: false
+ username: me
- block: resume-awards
content:
title: Awards
- username: admin
+ username: me
- block: resume-languages
content:
title: Languages
- username: admin
+ username: me
---
diff --git a/templates/academic-cv/content/publications/conference-paper/index.md b/templates/academic-cv/content/publications/conference-paper/index.md
index fc4efd3b..62c42a93 100644
--- a/templates/academic-cv/content/publications/conference-paper/index.md
+++ b/templates/academic-cv/content/publications/conference-paper/index.md
@@ -2,10 +2,10 @@
title: 'An example conference paper'
# Authors
-# If you created a profile for a user (e.g. the default `admin` user), write the username (folder name) here
+# If you created a profile for a user (e.g. the default `me` user), write the username (folder name) here
# and it will be replaced with their full name and linked to their profile.
authors:
- - admin
+ - me
- Robert Ford
# Author notes (optional)
diff --git a/templates/academic-cv/content/publications/journal-article/index.md b/templates/academic-cv/content/publications/journal-article/index.md
index 1e1984a3..899f0dfc 100644
--- a/templates/academic-cv/content/publications/journal-article/index.md
+++ b/templates/academic-cv/content/publications/journal-article/index.md
@@ -1,7 +1,7 @@
---
title: "An example journal article"
authors:
-- admin
+- me
- Robert Ford
author_notes:
- "Equal contribution"
diff --git a/templates/academic-cv/content/publications/preprint/index.md b/templates/academic-cv/content/publications/preprint/index.md
index 30b590f8..ffe6fad4 100644
--- a/templates/academic-cv/content/publications/preprint/index.md
+++ b/templates/academic-cv/content/publications/preprint/index.md
@@ -1,7 +1,7 @@
---
title: "An example preprint / working paper"
authors:
-- admin
+- me
date: "2019-04-07T00:00:00Z"
# Schedule page publish date (NOT publication's date).
diff --git a/templates/academic-cv/data/authors/me.yaml b/templates/academic-cv/data/authors/me.yaml
new file mode 100644
index 00000000..563f2368
--- /dev/null
+++ b/templates/academic-cv/data/authors/me.yaml
@@ -0,0 +1,116 @@
+schema: hugoblox/author/v1
+slug: me
+is_owner: true
+name:
+ display: Dr. Alex Johnson
+ given: Alex
+ family: Johnson
+ alternate: '' # Example: ηδΌ
+ pronunciation: '' # Example: WΓ‘ng WΔi
+ pronouns: he/him
+postnominals:
+ - PhD
+ - MIEEE
+status:
+ icon: "βοΈ"
+role: Senior AI Research Scientist
+bio: |
+ Alex Johnson is a Senior AI Research Scientist at Meta AI. His research
+ has been published in top conferences like NeurIPS and ICML, with over
+ 10,000 citations. Alex is passionate about pushing the boundaries of AI
+ while ensuring ethical development.
+
+affiliations:
+ - name: Meta AI
+ url: https://ai.meta.com/
+
+links:
+ - icon: at-symbol
+ url: mailto:alex.johnson@example.com
+ label: E-mail Me
+ - icon: brands/x
+ url: https://x.com/example
+ - icon: brands/github
+ url: https://github.com/example
+ - icon: brands/linkedin
+ url: https://www.linkedin.com/in/example/
+ - icon: academicons/google-scholar
+ url: https://scholar.google.com/citations?user=example
+ - icon: academicons/orcid
+ url: https://orcid.org/0000-0002-1825-0097
+
+interests:
+ - Large Language Models
+ - Computer Vision
+ - Reinforcement Learning
+ - AI Ethics
+
+education:
+ - degree: PhD Computer Science
+ institution: Stanford University
+ start: 2015-09-01
+ end: 2019-06-30
+ summary: |
+ Thesis on scaling laws for neural language models. Published 5 papers in NeurIPS and ICML.
+ button:
+ text: Download dissertation
+ url: /resume.pdf
+ icon: hero/arrow-down-tray
+ - degree: MS Computer Science
+ institution: Carnegie Mellon University
+ start: 2013-09-01
+ end: 2015-05-31
+ - degree: BS Computer Science
+ institution: MIT
+ start: 2009-09-01
+ end: 2013-05-31
+
+experience:
+ - role: Senior AI Research Scientist
+ org: Meta AI
+ start: 2020-01-01
+ summary: |
+ Leading research on multimodal AI systems. Contributed to Llama 2 and other open-source models.
+ button:
+ text: View portfolio
+ url: /
+ icon: hero/arrow-down-tray
+ - role: AI Research Intern
+ org: OpenAI
+ start: 2019-06-01
+ end: 2019-12-31
+ summary: |
+ Worked on GPT-3 scaling. Co-authored paper on prompt engineering.
+
+skills:
+ - name: Technical Skills
+ items:
+ - label: Pytho
+ level: 5
+ - label: Machine Learning
+ level: 5
+ - label: Cloud Computing
+ level: 4
+ - name: Research & Communication
+ items:
+ - label: Academic Writing
+ level: 5
+ - label: Conference Presentations
+ level: 4
+ - label: Grant Proposals
+ level: 4
+
+languages:
+ - name: English
+ level: 5
+ label: Native
+ - name: Spanish
+ level: 4
+ label: Fluent
+
+awards:
+ - title: Best Paper Award
+ awarder: NeurIPS
+ date: "2022-12-01"
+ summary: Awarded for groundbreaking work on efficient training of large models.
+ icon: hero/trophy
diff --git a/templates/blog/.devcontainer/devcontainer.json b/templates/blog/.devcontainer/devcontainer.json
new file mode 100644
index 00000000..ab001e26
--- /dev/null
+++ b/templates/blog/.devcontainer/devcontainer.json
@@ -0,0 +1,22 @@
+{
+ "image": "mcr.microsoft.com/devcontainers/go:1",
+ "features": {
+ "ghcr.io/devcontainers/features/hugo:1": {
+ "extended": true,
+ "version": "0.152.2"
+ },
+ "ghcr.io/devcontainers/features/node:1": {}
+ },
+ "customizations": {
+ "vscode": {
+ "extensions": [
+ "hugoblox.hugoblox-studio"
+ ]
+ }
+ },
+ "postCreateCommand": "pnpm install --no-frozen-lockfile && hugo --logLevel debug && pnpm dlx pagefind --source 'public' --verbose",
+ "postAttachCommand": "(code --command workbench.view.extension.hugoblox-studio || true) && hugo server --disableFastRender -D --port 1313",
+ "forwardPorts": [
+ 1313
+ ]
+}
\ No newline at end of file
diff --git a/templates/blog/.github/workflows/deploy.yml b/templates/blog/.github/workflows/deploy.yml
index 2c079035..7221e659 100644
--- a/templates/blog/.github/workflows/deploy.yml
+++ b/templates/blog/.github/workflows/deploy.yml
@@ -1,7 +1,6 @@
name: Deploy website to GitHub Pages
env:
- WC_HUGO_VERSION: '0.152.2'
NODE_VERSION: '20'
on:
@@ -42,6 +41,12 @@ jobs:
if: hashFiles('package.json') != ''
uses: pnpm/action-setup@v4
+ - name: Get Hugo Version
+ id: hugo-version
+ run: |
+ VERSION=$(grep "hugo_version" hugoblox.yaml | awk '{print $2}' | tr -d "'\"")
+ echo "HUGO_VERSION=$VERSION" >> $GITHUB_ENV
+
- name: Install dependencies
run: |
# Install Tailwind CLI if package.json exists
@@ -53,7 +58,7 @@ jobs:
- name: Setup Hugo
uses: peaceiris/actions-hugo@v3
with:
- hugo-version: ${{ env.WC_HUGO_VERSION }}
+ hugo-version: ${{ env.HUGO_VERSION }}
extended: true
# Cache dependencies (Go modules, node_modules) - stable, rarely changes
diff --git a/templates/blog/content/authors/admin/avatar.jpg b/templates/blog/assets/media/authors/me.jpg
similarity index 100%
rename from templates/blog/content/authors/admin/avatar.jpg
rename to templates/blog/assets/media/authors/me.jpg
diff --git a/templates/blog/content/_index.md b/templates/blog/content/_index.md
index 73341a9c..e5afcc0d 100644
--- a/templates/blog/content/_index.md
+++ b/templates/blog/content/_index.md
@@ -5,8 +5,8 @@ type: landing
sections:
- block: resume-biography
content:
- # The user's folder name in content/authors/
- username: admin
+ # Author slug (data/authors/
.yaml)
+ username: me
design:
spacing:
padding: [0, 0, 0, 0]
diff --git a/templates/blog/content/authors/admin/_index.md b/templates/blog/content/authors/admin/_index.md
deleted file mode 100644
index 53b50634..00000000
--- a/templates/blog/content/authors/admin/_index.md
+++ /dev/null
@@ -1,62 +0,0 @@
----
-# Display name
-title: ε³ε₯ι
-
-# Name pronunciation (optional)
-name_pronunciation: Chien Shiung Wu
-
-# Full name (for SEO)
-first_name: Shiung Wu
-last_name: Chien
-
-# Pronouns (optional)
-pronouns: she/her
-
-# Status emoji
-status:
- icon: βοΈ
-
-# Is this the primary user of the site?
-superuser: true
-
-# Role/position/tagline
-role: Professor of Artificial Intelligence
-
-# Organizations/Affiliations to show in About widget
-organizations:
- - name: Stanford University
- url: https://www.stanford.edu/
-
-# Short bio (displayed in user profile at end of posts)
-bio: My research interests include distributed robotics, mobile computing and programmable matter.
-
-# Social Networking
-# Need to use another icon? Simply download the SVG icon to your `assets/media/icons/` folder.
-profiles:
- - icon: at-symbol
- url: 'mailto:your-email@example.com'
- label: E-mail Me
- - icon: brands/x
- url: https://x.com/BuildLore
- - icon: brands/instagram
- url: https://www.instagram.com/
- - icon: brands/linkedin
- url: https://www.linkedin.com/
- # Link to a PDF of your resume/CV - upload it to `static/uploads/resume.pdf`
- - icon: academicons/cv
- url: uploads/resume.pdf
- label: Download my resume
- - icon: rss
- url: ./post/index.xml
- label: Subscribe to my blog via RSS feed
-
-# Highlight the author in author lists? (true/false)
-highlight_name: true
-
-# Author's website URL
-website: ""
----
-
-Chien Shiung Wu is a professor of artificial intelligence at the Stanford AI Lab. Her research interests include
-distributed robotics, mobile computing and programmable matter. She leads the Robotic Neurobiology group, which develops
-self-reconfiguring robots, systems of self-organizing robots, and mobile sensor networks.
diff --git a/templates/blog/content/blog/data-visualization/index.md b/templates/blog/content/blog/data-visualization/index.md
index 2a584e37..b3e5c7ed 100644
--- a/templates/blog/content/blog/data-visualization/index.md
+++ b/templates/blog/content/blog/data-visualization/index.md
@@ -3,7 +3,7 @@ title: π Communicate your results effectively with the best data visualizatio
summary: Use popular tools such as Plotly, Mermaid, and data frames.
date: 2023-10-25
authors:
- - admin
+ - me
tags:
- Hugo
- Hugo Blox
diff --git a/templates/blog/content/blog/get-started/index.md b/templates/blog/content/blog/get-started/index.md
index 81691072..8ba7221e 100644
--- a/templates/blog/content/blog/get-started/index.md
+++ b/templates/blog/content/blog/get-started/index.md
@@ -9,7 +9,7 @@ image:
caption: 'Image credit: [**Unsplash**](https://unsplash.com)'
authors:
- - admin
+ - me
- Ted
tags:
diff --git a/templates/blog/content/blog/project-management/index.md b/templates/blog/content/blog/project-management/index.md
index 959b1af8..1cbc4ca7 100644
--- a/templates/blog/content/blog/project-management/index.md
+++ b/templates/blog/content/blog/project-management/index.md
@@ -3,7 +3,7 @@ title: β
Manage your projects
summary: Easily manage your projects - create ideation mind maps, Gantt charts, todo lists, and more!
date: 2023-10-23
authors:
- - admin
+ - me
tags:
- Hugo Blox
- Markdown
diff --git a/templates/blog/content/blog/second-brain/index.md b/templates/blog/content/blog/second-brain/index.md
index f174a9f6..553d5838 100644
--- a/templates/blog/content/blog/second-brain/index.md
+++ b/templates/blog/content/blog/second-brain/index.md
@@ -3,7 +3,7 @@ title: π§ Sharpen your thinking with a second brain
summary: Create a personal knowledge base and share your knowledge with your peers.
date: 2023-10-26
authors:
- - admin
+ - me
tags:
- Second Brain
- Markdown
diff --git a/templates/blog/content/blog/teach-courses/index.md b/templates/blog/content/blog/teach-courses/index.md
index 3350b8df..7a51479d 100644
--- a/templates/blog/content/blog/teach-courses/index.md
+++ b/templates/blog/content/blog/teach-courses/index.md
@@ -4,7 +4,7 @@ summary: Embed videos, podcasts, code, LaTeX math, and even test students!
date: 2023-10-24
math: true
authors:
- - admin
+ - me
tags:
- Hugo
- Hugo Blox Builder
diff --git a/templates/blog/data/authors/me.yaml b/templates/blog/data/authors/me.yaml
new file mode 100644
index 00000000..ad4eae32
--- /dev/null
+++ b/templates/blog/data/authors/me.yaml
@@ -0,0 +1,32 @@
+schema: hugoblox/author/v1
+slug: me
+is_owner: true
+name:
+ display: ε³ε₯ι
+ given: Shiung Wu
+ family: Chien
+ pronunciation: Chien Shiung Wu
+ pronouns: she/her
+status:
+ icon: "βοΈ"
+role: Professor of Artificial Intelligence
+bio: My research interests include distributed robotics, mobile computing and programmable matter.
+affiliations:
+ - name: Stanford University
+ url: https://www.stanford.edu/
+links:
+ - icon: at-symbol
+ url: mailto:your-email@example.com
+ label: E-mail Me
+ - icon: brands/x
+ url: https://x.com/BuildLore
+ - icon: brands/instagram
+ url: https://www.instagram.com/
+ - icon: brands/linkedin
+ url: https://www.linkedin.com/
+ - icon: academicons/cv
+ url: uploads/resume.pdf
+ label: Download my resume
+ - icon: rss
+ url: ./post/index.xml
+ label: Subscribe to my blog via RSS feed
diff --git a/templates/documentation/.devcontainer/devcontainer.json b/templates/documentation/.devcontainer/devcontainer.json
new file mode 100644
index 00000000..ab001e26
--- /dev/null
+++ b/templates/documentation/.devcontainer/devcontainer.json
@@ -0,0 +1,22 @@
+{
+ "image": "mcr.microsoft.com/devcontainers/go:1",
+ "features": {
+ "ghcr.io/devcontainers/features/hugo:1": {
+ "extended": true,
+ "version": "0.152.2"
+ },
+ "ghcr.io/devcontainers/features/node:1": {}
+ },
+ "customizations": {
+ "vscode": {
+ "extensions": [
+ "hugoblox.hugoblox-studio"
+ ]
+ }
+ },
+ "postCreateCommand": "pnpm install --no-frozen-lockfile && hugo --logLevel debug && pnpm dlx pagefind --source 'public' --verbose",
+ "postAttachCommand": "(code --command workbench.view.extension.hugoblox-studio || true) && hugo server --disableFastRender -D --port 1313",
+ "forwardPorts": [
+ 1313
+ ]
+}
\ No newline at end of file
diff --git a/templates/documentation/.github/workflows/deploy.yml b/templates/documentation/.github/workflows/deploy.yml
index 2c079035..7221e659 100644
--- a/templates/documentation/.github/workflows/deploy.yml
+++ b/templates/documentation/.github/workflows/deploy.yml
@@ -1,7 +1,6 @@
name: Deploy website to GitHub Pages
env:
- WC_HUGO_VERSION: '0.152.2'
NODE_VERSION: '20'
on:
@@ -42,6 +41,12 @@ jobs:
if: hashFiles('package.json') != ''
uses: pnpm/action-setup@v4
+ - name: Get Hugo Version
+ id: hugo-version
+ run: |
+ VERSION=$(grep "hugo_version" hugoblox.yaml | awk '{print $2}' | tr -d "'\"")
+ echo "HUGO_VERSION=$VERSION" >> $GITHUB_ENV
+
- name: Install dependencies
run: |
# Install Tailwind CLI if package.json exists
@@ -53,7 +58,7 @@ jobs:
- name: Setup Hugo
uses: peaceiris/actions-hugo@v3
with:
- hugo-version: ${{ env.WC_HUGO_VERSION }}
+ hugo-version: ${{ env.HUGO_VERSION }}
extended: true
# Cache dependencies (Go modules, node_modules) - stable, rarely changes
diff --git a/templates/documentation/content/authors/admin/avatar.jpg b/templates/documentation/assets/media/authors/me.jpg
similarity index 100%
rename from templates/documentation/content/authors/admin/avatar.jpg
rename to templates/documentation/assets/media/authors/me.jpg
diff --git a/templates/documentation/content/authors/admin/_index.md b/templates/documentation/content/authors/admin/_index.md
deleted file mode 100644
index 53b50634..00000000
--- a/templates/documentation/content/authors/admin/_index.md
+++ /dev/null
@@ -1,62 +0,0 @@
----
-# Display name
-title: ε³ε₯ι
-
-# Name pronunciation (optional)
-name_pronunciation: Chien Shiung Wu
-
-# Full name (for SEO)
-first_name: Shiung Wu
-last_name: Chien
-
-# Pronouns (optional)
-pronouns: she/her
-
-# Status emoji
-status:
- icon: βοΈ
-
-# Is this the primary user of the site?
-superuser: true
-
-# Role/position/tagline
-role: Professor of Artificial Intelligence
-
-# Organizations/Affiliations to show in About widget
-organizations:
- - name: Stanford University
- url: https://www.stanford.edu/
-
-# Short bio (displayed in user profile at end of posts)
-bio: My research interests include distributed robotics, mobile computing and programmable matter.
-
-# Social Networking
-# Need to use another icon? Simply download the SVG icon to your `assets/media/icons/` folder.
-profiles:
- - icon: at-symbol
- url: 'mailto:your-email@example.com'
- label: E-mail Me
- - icon: brands/x
- url: https://x.com/BuildLore
- - icon: brands/instagram
- url: https://www.instagram.com/
- - icon: brands/linkedin
- url: https://www.linkedin.com/
- # Link to a PDF of your resume/CV - upload it to `static/uploads/resume.pdf`
- - icon: academicons/cv
- url: uploads/resume.pdf
- label: Download my resume
- - icon: rss
- url: ./post/index.xml
- label: Subscribe to my blog via RSS feed
-
-# Highlight the author in author lists? (true/false)
-highlight_name: true
-
-# Author's website URL
-website: ""
----
-
-Chien Shiung Wu is a professor of artificial intelligence at the Stanford AI Lab. Her research interests include
-distributed robotics, mobile computing and programmable matter. She leads the Robotic Neurobiology group, which develops
-self-reconfiguring robots, systems of self-organizing robots, and mobile sensor networks.
diff --git a/templates/documentation/content/blog/v1.0.0/index.md b/templates/documentation/content/blog/v1.0.0/index.md
index 694f26e3..69e3fc27 100644
--- a/templates/documentation/content/blog/v1.0.0/index.md
+++ b/templates/documentation/content/blog/v1.0.0/index.md
@@ -3,7 +3,7 @@ title: v1.0.0 Released!
summary: Hugo v1.0.0 released. Download now and follow the guide to get started in 5 minutes!
date: 2023-01-01
authors:
- - admin
+ - me
tags:
- Hugo
- Hugo Blox
diff --git a/templates/documentation/content/blog/v2.0.0/index.md b/templates/documentation/content/blog/v2.0.0/index.md
index 1c2d1a6c..aa4599be 100644
--- a/templates/documentation/content/blog/v2.0.0/index.md
+++ b/templates/documentation/content/blog/v2.0.0/index.md
@@ -3,7 +3,7 @@ title: v2.0.0 Released!
summary: Hugo v2.0.0 released. Download now and follow the guide to get started in 5 minutes!
date: 2024-01-19
authors:
- - admin
+ - me
tags:
- Hugo
- Hugo Blox
diff --git a/templates/documentation/content/showcase/nvidia/index.md b/templates/documentation/content/showcase/nvidia/index.md
index bfa17a22..b672d7eb 100644
--- a/templates/documentation/content/showcase/nvidia/index.md
+++ b/templates/documentation/content/showcase/nvidia/index.md
@@ -1,6 +1,8 @@
---
title: Nvidia
summary: nvidia.com
-external_link: https://research.nvidia.com/labs/toronto-ai/
+links:
+ - type: site
+ url: https://research.nvidia.com/labs/toronto-ai/
date: 2024-02-17
---
diff --git a/templates/documentation/data/authors/me.yaml b/templates/documentation/data/authors/me.yaml
new file mode 100644
index 00000000..ad4eae32
--- /dev/null
+++ b/templates/documentation/data/authors/me.yaml
@@ -0,0 +1,32 @@
+schema: hugoblox/author/v1
+slug: me
+is_owner: true
+name:
+ display: ε³ε₯ι
+ given: Shiung Wu
+ family: Chien
+ pronunciation: Chien Shiung Wu
+ pronouns: she/her
+status:
+ icon: "βοΈ"
+role: Professor of Artificial Intelligence
+bio: My research interests include distributed robotics, mobile computing and programmable matter.
+affiliations:
+ - name: Stanford University
+ url: https://www.stanford.edu/
+links:
+ - icon: at-symbol
+ url: mailto:your-email@example.com
+ label: E-mail Me
+ - icon: brands/x
+ url: https://x.com/BuildLore
+ - icon: brands/instagram
+ url: https://www.instagram.com/
+ - icon: brands/linkedin
+ url: https://www.linkedin.com/
+ - icon: academicons/cv
+ url: uploads/resume.pdf
+ label: Download my resume
+ - icon: rss
+ url: ./post/index.xml
+ label: Subscribe to my blog via RSS feed
diff --git a/templates/landing-page/.devcontainer/devcontainer.json b/templates/landing-page/.devcontainer/devcontainer.json
new file mode 100644
index 00000000..ab001e26
--- /dev/null
+++ b/templates/landing-page/.devcontainer/devcontainer.json
@@ -0,0 +1,22 @@
+{
+ "image": "mcr.microsoft.com/devcontainers/go:1",
+ "features": {
+ "ghcr.io/devcontainers/features/hugo:1": {
+ "extended": true,
+ "version": "0.152.2"
+ },
+ "ghcr.io/devcontainers/features/node:1": {}
+ },
+ "customizations": {
+ "vscode": {
+ "extensions": [
+ "hugoblox.hugoblox-studio"
+ ]
+ }
+ },
+ "postCreateCommand": "pnpm install --no-frozen-lockfile && hugo --logLevel debug && pnpm dlx pagefind --source 'public' --verbose",
+ "postAttachCommand": "(code --command workbench.view.extension.hugoblox-studio || true) && hugo server --disableFastRender -D --port 1313",
+ "forwardPorts": [
+ 1313
+ ]
+}
\ No newline at end of file
diff --git a/templates/landing-page/.github/workflows/deploy.yml b/templates/landing-page/.github/workflows/deploy.yml
index 2c079035..7221e659 100644
--- a/templates/landing-page/.github/workflows/deploy.yml
+++ b/templates/landing-page/.github/workflows/deploy.yml
@@ -1,7 +1,6 @@
name: Deploy website to GitHub Pages
env:
- WC_HUGO_VERSION: '0.152.2'
NODE_VERSION: '20'
on:
@@ -42,6 +41,12 @@ jobs:
if: hashFiles('package.json') != ''
uses: pnpm/action-setup@v4
+ - name: Get Hugo Version
+ id: hugo-version
+ run: |
+ VERSION=$(grep "hugo_version" hugoblox.yaml | awk '{print $2}' | tr -d "'\"")
+ echo "HUGO_VERSION=$VERSION" >> $GITHUB_ENV
+
- name: Install dependencies
run: |
# Install Tailwind CLI if package.json exists
@@ -53,7 +58,7 @@ jobs:
- name: Setup Hugo
uses: peaceiris/actions-hugo@v3
with:
- hugo-version: ${{ env.WC_HUGO_VERSION }}
+ hugo-version: ${{ env.HUGO_VERSION }}
extended: true
# Cache dependencies (Go modules, node_modules) - stable, rarely changes
diff --git a/templates/landing-page/content/authors/admin/avatar.jpg b/templates/landing-page/assets/media/authors/me.jpg
similarity index 100%
rename from templates/landing-page/content/authors/admin/avatar.jpg
rename to templates/landing-page/assets/media/authors/me.jpg
diff --git a/templates/landing-page/content/authors/admin/_index.md b/templates/landing-page/content/authors/admin/_index.md
deleted file mode 100644
index 53b50634..00000000
--- a/templates/landing-page/content/authors/admin/_index.md
+++ /dev/null
@@ -1,62 +0,0 @@
----
-# Display name
-title: ε³ε₯ι
-
-# Name pronunciation (optional)
-name_pronunciation: Chien Shiung Wu
-
-# Full name (for SEO)
-first_name: Shiung Wu
-last_name: Chien
-
-# Pronouns (optional)
-pronouns: she/her
-
-# Status emoji
-status:
- icon: βοΈ
-
-# Is this the primary user of the site?
-superuser: true
-
-# Role/position/tagline
-role: Professor of Artificial Intelligence
-
-# Organizations/Affiliations to show in About widget
-organizations:
- - name: Stanford University
- url: https://www.stanford.edu/
-
-# Short bio (displayed in user profile at end of posts)
-bio: My research interests include distributed robotics, mobile computing and programmable matter.
-
-# Social Networking
-# Need to use another icon? Simply download the SVG icon to your `assets/media/icons/` folder.
-profiles:
- - icon: at-symbol
- url: 'mailto:your-email@example.com'
- label: E-mail Me
- - icon: brands/x
- url: https://x.com/BuildLore
- - icon: brands/instagram
- url: https://www.instagram.com/
- - icon: brands/linkedin
- url: https://www.linkedin.com/
- # Link to a PDF of your resume/CV - upload it to `static/uploads/resume.pdf`
- - icon: academicons/cv
- url: uploads/resume.pdf
- label: Download my resume
- - icon: rss
- url: ./post/index.xml
- label: Subscribe to my blog via RSS feed
-
-# Highlight the author in author lists? (true/false)
-highlight_name: true
-
-# Author's website URL
-website: ""
----
-
-Chien Shiung Wu is a professor of artificial intelligence at the Stanford AI Lab. Her research interests include
-distributed robotics, mobile computing and programmable matter. She leads the Robotic Neurobiology group, which develops
-self-reconfiguring robots, systems of self-organizing robots, and mobile sensor networks.
diff --git a/templates/landing-page/content/blog/data-visualization/index.md b/templates/landing-page/content/blog/data-visualization/index.md
index 2a584e37..b3e5c7ed 100644
--- a/templates/landing-page/content/blog/data-visualization/index.md
+++ b/templates/landing-page/content/blog/data-visualization/index.md
@@ -3,7 +3,7 @@ title: π Communicate your results effectively with the best data visualizatio
summary: Use popular tools such as Plotly, Mermaid, and data frames.
date: 2023-10-25
authors:
- - admin
+ - me
tags:
- Hugo
- Hugo Blox
diff --git a/templates/landing-page/content/blog/get-started/index.md b/templates/landing-page/content/blog/get-started/index.md
index 81691072..8ba7221e 100644
--- a/templates/landing-page/content/blog/get-started/index.md
+++ b/templates/landing-page/content/blog/get-started/index.md
@@ -9,7 +9,7 @@ image:
caption: 'Image credit: [**Unsplash**](https://unsplash.com)'
authors:
- - admin
+ - me
- Ted
tags:
diff --git a/templates/landing-page/content/blog/project-management/index.md b/templates/landing-page/content/blog/project-management/index.md
index 959b1af8..1cbc4ca7 100644
--- a/templates/landing-page/content/blog/project-management/index.md
+++ b/templates/landing-page/content/blog/project-management/index.md
@@ -3,7 +3,7 @@ title: β
Manage your projects
summary: Easily manage your projects - create ideation mind maps, Gantt charts, todo lists, and more!
date: 2023-10-23
authors:
- - admin
+ - me
tags:
- Hugo Blox
- Markdown
diff --git a/templates/landing-page/content/blog/second-brain/index.md b/templates/landing-page/content/blog/second-brain/index.md
index f174a9f6..553d5838 100644
--- a/templates/landing-page/content/blog/second-brain/index.md
+++ b/templates/landing-page/content/blog/second-brain/index.md
@@ -3,7 +3,7 @@ title: π§ Sharpen your thinking with a second brain
summary: Create a personal knowledge base and share your knowledge with your peers.
date: 2023-10-26
authors:
- - admin
+ - me
tags:
- Second Brain
- Markdown
diff --git a/templates/landing-page/content/blog/teach-courses/index.md b/templates/landing-page/content/blog/teach-courses/index.md
index d60232b6..cd3366b4 100644
--- a/templates/landing-page/content/blog/teach-courses/index.md
+++ b/templates/landing-page/content/blog/teach-courses/index.md
@@ -4,7 +4,7 @@ summary: Embed videos, podcasts, code, LaTeX math, and even test students!
date: 2023-10-24
math: true
authors:
- - admin
+ - me
tags:
- Hugo
- Hugo Blox Builder
diff --git a/templates/landing-page/data/authors/me.yaml b/templates/landing-page/data/authors/me.yaml
new file mode 100644
index 00000000..ad4eae32
--- /dev/null
+++ b/templates/landing-page/data/authors/me.yaml
@@ -0,0 +1,32 @@
+schema: hugoblox/author/v1
+slug: me
+is_owner: true
+name:
+ display: ε³ε₯ι
+ given: Shiung Wu
+ family: Chien
+ pronunciation: Chien Shiung Wu
+ pronouns: she/her
+status:
+ icon: "βοΈ"
+role: Professor of Artificial Intelligence
+bio: My research interests include distributed robotics, mobile computing and programmable matter.
+affiliations:
+ - name: Stanford University
+ url: https://www.stanford.edu/
+links:
+ - icon: at-symbol
+ url: mailto:your-email@example.com
+ label: E-mail Me
+ - icon: brands/x
+ url: https://x.com/BuildLore
+ - icon: brands/instagram
+ url: https://www.instagram.com/
+ - icon: brands/linkedin
+ url: https://www.linkedin.com/
+ - icon: academicons/cv
+ url: uploads/resume.pdf
+ label: Download my resume
+ - icon: rss
+ url: ./post/index.xml
+ label: Subscribe to my blog via RSS feed
diff --git a/templates/link-in-bio/.devcontainer/devcontainer.json b/templates/link-in-bio/.devcontainer/devcontainer.json
new file mode 100644
index 00000000..ab001e26
--- /dev/null
+++ b/templates/link-in-bio/.devcontainer/devcontainer.json
@@ -0,0 +1,22 @@
+{
+ "image": "mcr.microsoft.com/devcontainers/go:1",
+ "features": {
+ "ghcr.io/devcontainers/features/hugo:1": {
+ "extended": true,
+ "version": "0.152.2"
+ },
+ "ghcr.io/devcontainers/features/node:1": {}
+ },
+ "customizations": {
+ "vscode": {
+ "extensions": [
+ "hugoblox.hugoblox-studio"
+ ]
+ }
+ },
+ "postCreateCommand": "pnpm install --no-frozen-lockfile && hugo --logLevel debug && pnpm dlx pagefind --source 'public' --verbose",
+ "postAttachCommand": "(code --command workbench.view.extension.hugoblox-studio || true) && hugo server --disableFastRender -D --port 1313",
+ "forwardPorts": [
+ 1313
+ ]
+}
\ No newline at end of file
diff --git a/templates/link-in-bio/.github/workflows/deploy.yml b/templates/link-in-bio/.github/workflows/deploy.yml
index 2c079035..7221e659 100644
--- a/templates/link-in-bio/.github/workflows/deploy.yml
+++ b/templates/link-in-bio/.github/workflows/deploy.yml
@@ -1,7 +1,6 @@
name: Deploy website to GitHub Pages
env:
- WC_HUGO_VERSION: '0.152.2'
NODE_VERSION: '20'
on:
@@ -42,6 +41,12 @@ jobs:
if: hashFiles('package.json') != ''
uses: pnpm/action-setup@v4
+ - name: Get Hugo Version
+ id: hugo-version
+ run: |
+ VERSION=$(grep "hugo_version" hugoblox.yaml | awk '{print $2}' | tr -d "'\"")
+ echo "HUGO_VERSION=$VERSION" >> $GITHUB_ENV
+
- name: Install dependencies
run: |
# Install Tailwind CLI if package.json exists
@@ -53,7 +58,7 @@ jobs:
- name: Setup Hugo
uses: peaceiris/actions-hugo@v3
with:
- hugo-version: ${{ env.WC_HUGO_VERSION }}
+ hugo-version: ${{ env.HUGO_VERSION }}
extended: true
# Cache dependencies (Go modules, node_modules) - stable, rarely changes
diff --git a/templates/link-in-bio/content/authors/admin/avatar.png b/templates/link-in-bio/assets/media/authors/me.png
similarity index 100%
rename from templates/link-in-bio/content/authors/admin/avatar.png
rename to templates/link-in-bio/assets/media/authors/me.png
diff --git a/templates/link-in-bio/content/_index.md b/templates/link-in-bio/content/_index.md
index 596e9950..7e32c239 100644
--- a/templates/link-in-bio/content/_index.md
+++ b/templates/link-in-bio/content/_index.md
@@ -13,7 +13,7 @@ sections:
- block: resume-biography
content:
# The user's folder name in content/authors/
- username: admin
+ username: me
design:
biography:
style: 'text-align: justify; font-size: 0.8em;'
diff --git a/templates/link-in-bio/content/authors/admin/_index.md b/templates/link-in-bio/content/authors/admin/_index.md
deleted file mode 100644
index 7910d441..00000000
--- a/templates/link-in-bio/content/authors/admin/_index.md
+++ /dev/null
@@ -1,169 +0,0 @@
----
-# Display name
-title: Alex Johnson
-
-# Name pronunciation (optional)
-name_pronunciation: ''
-
-# Full name (for SEO)
-first_name: Alex
-last_name: Johnson
-
-# Pronouns (optional)
-pronouns: he/him
-
-# Status emoji
-status:
- icon: π
-
-# Is this the primary user of the site?
-superuser: true
-
-# Highlight the author in author lists? (true/false)
-highlight_name: true
-
-# Role/position/tagline
-role: Senior AI Research Scientist
-
-# Organizations/Affiliations to display in Biography blox
-organizations:
- - name: Meta AI
- url: https://ai.meta.com/
-
-# Social network links
-# Need to use another icon? Simply download the SVG icon to your `assets/media/icons/` folder.
-profiles:
- - icon: at-symbol
- url: 'mailto:alex.johnson@meta.com'
- label: E-mail Me
- - icon: brands/x
- url: https://x.com/AlexAIResearch
- - icon: brands/github
- url: https://github.com/alexjohnsonai
- - icon: brands/linkedin
- url: https://www.linkedin.com/in/alexjohnsonai/
- - icon: academicons/google-scholar
- url: https://scholar.google.com/citations?user=alexjohnson
- - icon: academicons/orcid
- url: https://orcid.org/0000-0002-1825-0097
-
-interests:
- - Large Language Models
- - Computer Vision
- - Reinforcement Learning
- - AI Ethics
-
-education:
- - area: PhD Computer Science (AI Focus)
- institution: Stanford University
- date_start: 2015-09-01
- date_end: 2019-06-30
- summary: |
- Thesis on _Scaling Laws for Neural Language Models_. Supervised by Prof. Andrew Ng. Published 5 papers in NeurIPS and ICML, with 2 best paper awards.
- button:
- text: 'Read Thesis'
- url: 'https://example.com/thesis.pdf'
- - area: MS Computer Science
- institution: Carnegie Mellon University
- date_start: 2013-09-01
- date_end: 2015-05-31
- summary: |
- GPA: 4.0/4.0
-
- Specialized in machine learning and robotics.
- - area: BS Computer Science
- institution: MIT
- date_start: 2009-09-01
- date_end: 2013-05-31
- summary: |
- GPA: 3.9/4.0
-
- Minored in Mathematics. President of AI Club.
-
-work:
- - position: Senior AI Research Scientist
- company_name: Meta AI
- company_url: 'https://ai.meta.com/'
- company_logo: ''
- date_start: 2020-01-01
- date_end: ''
- summary: |2-
- Leading research on multimodal AI systems. Contributed to Llama 2 and other open-source models. 50+ citations in 3 years.
- - position: AI Research Intern
- company_name: OpenAI
- company_url: 'https://openai.com/'
- company_logo: ''
- date_start: 2019-06-01
- date_end: 2019-12-31
- summary: |
- Worked on GPT-3 scaling. Co-authored paper on prompt engineering.
-
-# Skills
-# Add your own SVG icons to `assets/media/icons/`
-skills:
- - name: Technical Skills
- items:
- - name: Python & PyTorch
- description: ''
- percent: 95
- icon: code-bracket
- - name: Machine Learning
- description: ''
- percent: 100
- icon: chart-bar
- - name: Cloud Computing (AWS/GCP)
- description: ''
- percent: 85
- icon: cloud
- - name: Hobbies
- color: '#eeac02'
- color_border: '#f0bf23'
- items:
- - name: Hiking in the Rockies
- description: ''
- percent: 80
- icon: person-simple-walk
- - name: Building Custom PCs
- description: ''
- percent: 90
- icon: cpu-chip
- - name: Sci-Fi Reading
- description: ''
- percent: 70
- icon: book-open
-
-languages:
- - name: English
- percent: 100
- - name: Spanish
- percent: 50
-
-# Awards.
-# Add/remove as many awards below as you like.
-# Only `title`, `awarder`, and `date` are required.
-# Begin multi-line `summary` with YAML's `|` or `|2-` multi-line prefix and indent 2 spaces below.
-awards:
- - title: Best Paper Award
- url: https://neurips.cc/
- date: '2022-12-01'
- awarder: NeurIPS
- icon: hero/trophy
- summary: |
- Awarded for groundbreaking work on efficient training of large models.
- - title: AI Innovation Grant
- url: https://www.nsf.gov/
- date: '2021-06-15'
- awarder: National Science Foundation
- icon: hero/currency-dollar
- summary: |
- $500,000 grant for research in ethical AI development.
- - title: Outstanding PhD Thesis
- url: https://www.stanford.edu/
- date: '2019-06-30'
- awarder: Stanford University
- icon: hero/academic-cap
- summary: |
- Recognized for contributions to scaling laws in deep learning.
----
-
-Alex Johnson is a Senior AI Research Scientist at Meta AI, where he leads groundbreaking work on large language models and multimodal systems. His research has been published in top conferences like NeurIPS and ICML, with over 10,000 citations. Alex is passionate about pushing the boundaries of AI while ensuring ethical development. Outside of work, he enjoys hiking in the Rockies, building custom PCs, and mentoring the next generation of AI talent.
diff --git a/templates/link-in-bio/data/authors/me.yaml b/templates/link-in-bio/data/authors/me.yaml
new file mode 100644
index 00000000..8fe43dfe
--- /dev/null
+++ b/templates/link-in-bio/data/authors/me.yaml
@@ -0,0 +1,125 @@
+schema: hugoblox/author/v1
+slug: me
+is_owner: true
+name:
+ display: Alex Johnson
+ given: Alex
+ family: Johnson
+ pronouns: he/him
+status:
+ icon: "π"
+role: Senior AI Research Scientist
+bio: >
+ Alex Johnson is a Senior AI Research Scientist at Meta AI, where he leads groundbreaking work on large language models
+ and multimodal systems. His research has been published in top conferences like NeurIPS and ICML, with over 10,000
+ citations. Alex is passionate about pushing the boundaries of AI while ensuring ethical development. Outside of work,
+ he enjoys hiking in the Rockies, building custom PCs, and mentoring the next generation of AI talent.
+affiliations:
+ - name: Meta AI
+ url: https://ai.meta.com/
+links:
+ - icon: at-symbol
+ url: mailto:alex.johnson@meta.com
+ label: E-mail Me
+ - icon: brands/x
+ url: https://x.com/AlexAIResearch
+ - icon: brands/github
+ url: https://github.com/alexjohnsonai
+ - icon: brands/linkedin
+ url: https://www.linkedin.com/in/alexjohnsonai/
+ - icon: academicons/google-scholar
+ url: https://scholar.google.com/citations?user=alexjohnson
+ - icon: academicons/orcid
+ url: https://orcid.org/0000-0002-1825-0097
+interests:
+ - Large Language Models
+ - Computer Vision
+ - Reinforcement Learning
+ - AI Ethics
+education:
+ - degree: PhD Computer Science (AI Focus)
+ institution: Stanford University
+ start: 2015-09-01
+ end: 2019-06-30
+ summary: |
+ Thesis on _Scaling Laws for Neural Language Models_. Supervised by Prof. Andrew Ng. Published 5 papers in NeurIPS and ICML, with 2 best paper awards.
+ button:
+ text: 'Read Thesis'
+ url: 'https://example.com/thesis.pdf'
+ - degree: MS Computer Science
+ institution: Carnegie Mellon University
+ start: 2013-09-01
+ end: 2015-05-31
+ summary: |
+ GPA: 4.0/4.0
+
+ Specialized in machine learning and robotics.
+ - degree: BS Computer Science
+ institution: MIT
+ start: 2009-09-01
+ end: 2013-05-31
+ summary: |
+ GPA: 3.9/4.0
+
+ Minored in Mathematics. President of AI Club.
+experience:
+ - role: Senior AI Research Scientist
+ org: Meta AI
+ start: 2020-01-01
+ summary: |
+ Leading research on multimodal AI systems. Contributed to Llama 2 and other open-source models. 50+ citations in 3 years.
+ - role: AI Research Intern
+ org: OpenAI
+ start: 2019-06-01
+ end: 2019-12-31
+ summary: |
+ Worked on GPT-3 scaling. Co-authored paper on prompt engineering.
+skills:
+ - name: Technical Skills
+ items:
+ - label: Python & PyTorch
+ level: 5
+ icon: code-bracket
+ - label: Machine Learning
+ level: 5
+ icon: chart-bar
+ - label: Cloud Computing (AWS/GCP)
+ level: 4
+ icon: cloud
+ - name: Hobbies
+ color: '#eeac02'
+ color_border: '#f0bf23'
+ items:
+ - label: Hiking in the Rockies
+ level: 4
+ icon: person-simple-walk
+ - label: Building Custom PCs
+ level: 5
+ icon: cpu-chip
+ - label: Sci-Fi Reading
+ level: 4
+ icon: book-open
+languages:
+ - name: English
+ level: 5
+ - name: Spanish
+ level: 3
+awards:
+ - title: Best Paper Award
+ url: https://neurips.cc/
+ date: '2022-12-01'
+ awarder: NeurIPS
+ icon: hero/trophy
+ summary: Awarded for groundbreaking work on efficient training of large models.
+ - title: AI Innovation Grant
+ url: https://www.nsf.gov/
+ date: '2021-06-15'
+ awarder: National Science Foundation
+ icon: hero/currency-dollar
+ summary: $500,000 grant for research in ethical AI development.
+ - title: Outstanding PhD Thesis
+ url: https://www.stanford.edu/
+ date: '2019-06-30'
+ awarder: Stanford University
+ icon: hero/academic-cap
+ summary: Recognized for contributions to scaling laws in deep learning.
diff --git a/templates/resume/.devcontainer/devcontainer.json b/templates/resume/.devcontainer/devcontainer.json
new file mode 100644
index 00000000..ab001e26
--- /dev/null
+++ b/templates/resume/.devcontainer/devcontainer.json
@@ -0,0 +1,22 @@
+{
+ "image": "mcr.microsoft.com/devcontainers/go:1",
+ "features": {
+ "ghcr.io/devcontainers/features/hugo:1": {
+ "extended": true,
+ "version": "0.152.2"
+ },
+ "ghcr.io/devcontainers/features/node:1": {}
+ },
+ "customizations": {
+ "vscode": {
+ "extensions": [
+ "hugoblox.hugoblox-studio"
+ ]
+ }
+ },
+ "postCreateCommand": "pnpm install --no-frozen-lockfile && hugo --logLevel debug && pnpm dlx pagefind --source 'public' --verbose",
+ "postAttachCommand": "(code --command workbench.view.extension.hugoblox-studio || true) && hugo server --disableFastRender -D --port 1313",
+ "forwardPorts": [
+ 1313
+ ]
+}
\ No newline at end of file
diff --git a/templates/resume/.github/workflows/deploy.yml b/templates/resume/.github/workflows/deploy.yml
index 2c079035..7221e659 100644
--- a/templates/resume/.github/workflows/deploy.yml
+++ b/templates/resume/.github/workflows/deploy.yml
@@ -1,7 +1,6 @@
name: Deploy website to GitHub Pages
env:
- WC_HUGO_VERSION: '0.152.2'
NODE_VERSION: '20'
on:
@@ -42,6 +41,12 @@ jobs:
if: hashFiles('package.json') != ''
uses: pnpm/action-setup@v4
+ - name: Get Hugo Version
+ id: hugo-version
+ run: |
+ VERSION=$(grep "hugo_version" hugoblox.yaml | awk '{print $2}' | tr -d "'\"")
+ echo "HUGO_VERSION=$VERSION" >> $GITHUB_ENV
+
- name: Install dependencies
run: |
# Install Tailwind CLI if package.json exists
@@ -53,7 +58,7 @@ jobs:
- name: Setup Hugo
uses: peaceiris/actions-hugo@v3
with:
- hugo-version: ${{ env.WC_HUGO_VERSION }}
+ hugo-version: ${{ env.HUGO_VERSION }}
extended: true
# Cache dependencies (Go modules, node_modules) - stable, rarely changes
diff --git a/templates/resume/content/authors/admin/avatar.jpg b/templates/resume/assets/media/authors/me.jpg
similarity index 100%
rename from templates/resume/content/authors/admin/avatar.jpg
rename to templates/resume/assets/media/authors/me.jpg
diff --git a/templates/resume/content/_index.md b/templates/resume/content/_index.md
index db54956d..5c567195 100644
--- a/templates/resume/content/_index.md
+++ b/templates/resume/content/_index.md
@@ -13,7 +13,7 @@ design:
sections:
- block: biography
content:
- username: admin
+ username: me
# Show a call-to-action button under your biography? (optional)
button:
text: Download RΓ©sumΓ©
@@ -31,7 +31,7 @@ sections:
shape: rounded # Options: circle (default), square, rounded
- block: experience
content:
- username: admin
+ username: me
design:
# Hugo date format
date_format: 'January 2006'
@@ -40,13 +40,13 @@ sections:
- block: skills
content:
title: Skills & Hobbies
- username: admin
+ username: me
- block: awards
content:
title: Awards
- username: admin
+ username: me
- block: languages
content:
title: Languages
- username: admin
+ username: me
---
diff --git a/templates/resume/content/authors/admin/_index.md b/templates/resume/data/authors/me.yaml
similarity index 63%
rename from templates/resume/content/authors/admin/_index.md
rename to templates/resume/data/authors/me.yaml
index d7481a5b..7b04467b 100644
--- a/templates/resume/content/authors/admin/_index.md
+++ b/templates/resume/data/authors/me.yaml
@@ -1,37 +1,24 @@
----
-# Display name
-title: ε³ε₯ι
-
-# Name pronunciation (optional)
-name_pronunciation: Chien Shiung Wu
-
-# Full name (for SEO)
-first_name: Shiung Wu
-last_name: Chien
-
-# Pronouns (optional)
-pronouns: she/her
-
-# Status emoji
+schema: hugoblox/author/v1
+slug: me
+is_owner: true
+name:
+ display: ε³ε₯ι
+ given: Shiung Wu
+ family: Chien
+ pronunciation: Chien Shiung Wu
+ pronouns: she/her
status:
- icon: βοΈ
-
-# Is this the primary user of the site?
-superuser: true
-
-# Role/position/tagline
+ icon: "βοΈ"
role: Director of Cloud Infrastructure
-
-# Organizations/Affiliations to display in Biography blox
-organizations:
+bio: >
+ I am currently Director of Cloud Infrastructure at GenCoin where I am leading
+ teams on edge computing, deep sea data center architecture, and hivemind optimization.
+affiliations:
- name: GenCoin
url: https://www.example.com/
-
-# Social network links
-# Need to use another icon? Simply download the SVG icon to your `assets/media/icons/` folder.
-profiles:
+links:
- icon: at-symbol
- url: 'mailto:your-email@example.com'
+ url: mailto:your-email@example.com
label: E-mail Me
- icon: brands/x
url: https://x.com/BuildLore
@@ -41,21 +28,20 @@ profiles:
url: https://www.linkedin.com/
- icon: brands/instagram
url: https://www.instagram.com/
-
education:
- - area: PhD Artificial Intelligence
+ - degree: PhD Artificial Intelligence
institution: Stanford University
- date_start: 2016-01-01
- date_end: 2020-12-31
+ start: 2016-01-01
+ end: 2020-12-31
summary: |
Thesis on _Why LLMs are awesome_. Supervised by [Prof Joe Smith](https://example.com). Presented papers at 5 IEEE conferences with the contributions being published in 2 Springer journals.
button:
text: 'Read Thesis'
url: 'https://example.com'
- - area: MEng Artificial Intelligence
+ - degree: MEng Artificial Intelligence
institution: Massachusetts Institute of Technology
- date_start: 2016-01-01
- date_end: 2020-12-31
+ start: 2016-01-01
+ end: 2020-12-31
summary: |
GPA: 3.8/4.0
@@ -63,10 +49,10 @@ education:
- lorem ipsum dolor sit amet, consectetur adipiscing elit
- lorem ipsum dolor sit amet, consectetur adipiscing elit
- lorem ipsum dolor sit amet, consectetur adipiscing elit
- - area: BSc Artificial Intelligence
+ - degree: BSc Artificial Intelligence
institution: Massachusetts Institute of Technology
- date_start: 2016-01-01
- date_end: 2020-12-31
+ start: 2016-01-01
+ end: 2020-12-31
summary: |
GPA: 3.4/4.0
@@ -74,76 +60,50 @@ education:
- lorem ipsum dolor sit amet, consectetur adipiscing elit
- lorem ipsum dolor sit amet, consectetur adipiscing elit
- lorem ipsum dolor sit amet, consectetur adipiscing elit
-work:
- - position: Director of Cloud Infrastructure
- company_name: GenCoin
- company_url: ''
- company_logo: ''
- date_start: 2021-01-01
- date_end: ''
- summary: |2-
+experience:
+ - role: Director of Cloud Infrastructure
+ org: GenCoin
+ start: 2021-01-01
+ summary: |
Responsibilities include:
- lorem ipsum dolor sit amet, consectetur adipiscing elit
- lorem ipsum dolor sit amet, consectetur adipiscing elit
- lorem ipsum dolor sit amet, consectetur adipiscing elit
- - position: Backend Software Engineer
- company_name: X
- company_url: ''
- company_logo: ''
- date_start: 2016-01-01
- date_end: 2020-12-31
+ - role: Backend Software Engineer
+ org: X
+ start: 2016-01-01
+ end: 2020-12-31
summary: |
Responsibilities include:
- Migrated infrastructure to a new data center
- lorem ipsum dolor sit amet, consectetur adipiscing elit
- lorem ipsum dolor sit amet, consectetur adipiscing elit
-
-# Skills
-# Add your own SVG icons to `assets/media/icons/`
skills:
- name: Technical Skills
items:
- - name: Python
- description: ''
- percent: 80
- icon: devicon/python
- - name: RStudio
- description: ''
- percent: 100
- icon: devicon/rstudio
- - name: PyTorch
- description: ''
- percent: 40
- icon: devicon/pytorch
+ - label: Python
+ level: 4
+ - label: RStudio
+ level: 5
+ - label: PyTorch
+ level: 2
- name: Hobbies
color: '#eeac02'
color_border: '#f0bf23'
items:
- - name: Hiking
- description: ''
- percent: 60
- icon: person-simple-walk
- - name: Cats
- description: ''
- percent: 100
- icon: cat
- - name: Photography
- description: ''
- percent: 80
- icon: camera
-
+ - label: Hiking
+ level: 3
+ - label: Cats
+ level: 5
+ - label: Photography
+ level: 4
languages:
- name: English
- percent: 100
+ level: 5
- name: Chinese
- percent: 75
+ level: 4
- name: Portuguese
- percent: 25
-
-# Awards.
-# Add/remove as many awards below as you like.
-# Only `title`, `awarder`, and `date` are required.
-# Begin multi-line `summary` with YAML's `|` or `|2-` multi-line prefix and indent 2 spaces below.
+ level: 1
awards:
- title: Neural Networks and Deep Learning
url: https://www.coursera.org/learn/neural-networks-deep-learning
@@ -170,6 +130,3 @@ awards:
icon: brands/datacamp
summary: |
Object-oriented programming (OOP) lets you specify relationships between functions and the objects that they can act on, helping you manage complexity in your code. This is an intermediate level course, providing an introduction to OOP, using the S3 and R6 systems. S3 is a great day-to-day R programming tool that simplifies some of the functions that you write. R6 is especially useful for industry-specific analyses, working with web APIs, and building GUIs.
----
-
-I am currently Director of Cloud Infrastructure at GenCoin where I am leading teams on edge computing, deep sea data center architecture, and hivemind optimization.